Hi Nico,
Thanks for your email & response.
The problem originally I had was that on PortC, DP/HDMI did not work for the external display in the OS, In BIOS it looked good, so I configured PortC as an eDP interface then the external display started working in the OS.
Now at runtime when there is no external display, the VBIOS is causing delay, so I want to disable PortC for eDP at runtime when there is no external display connected. So am trying to find which MMIO register gets set when there is external Display connected to DisplayPort
Thanks Rao
On Fri, Jul 30, 2021 at 3:29 PM Rao G grao.v80@gmail.com wrote:
Hi Nico,
Thanks for your response, though I enabled Bits 29,28,27 in 0x61110h, the values in 0x61114h returned 0, I have configured the port as eDP in VBIOS not as HDMI/DP, will that make a difference? For eDP which MMIO register need to be checked?
Thanks Rao
On Fri, Jul 30, 2021 at 2:47 PM Nico Huber nico.h@gmx.de wrote:
Hello Rao,
On 30.07.21 13:53, Rao G wrote:
trying to see the MMIO or VBIOS data when a external display device is plugged/unplugged with DP/HDMI interface, which MMIO register is set or cleared
I think you are looking at the right register (last one below).
Any inputs are appreciated, some of the registers tried on Port B/Port C are given below. when Display is connected and when Display is not connected, both these instances return the same data. Looking for register/bit that sets/clears when external display is connected/disconnected
printk(BIOS_DEBUG, "Intel Gfx BAR GTTMMADR\n"); printk(BIOS_DEBUG, " DP_B %X\n", read32(bar+0x180000+0x64100)); printk(BIOS_DEBUG, " DP_C %X\n", read32(bar+0x180000+0x64200)); printk(BIOS_DEBUG, " HDMIC %X\n", read32(bar+0x180000+0x61160)); printk(BIOS_DEBUG, " HDMIB %X\n", read32(bar+0x180000+0x61140)); printk(BIOS_DEBUG, " Hotplug control %X\n",
read32(bar+0x180000+0x61164));
printk(BIOS_DEBUG, " pipeA control %X\n", read32(bar+0x180000+0x61204)); printk(BIOS_DEBUG, " pipeB control %X\n", read32(bar+0x180000+0x61304)); printk(BIOS_DEBUG, " porthot plug stat %X\n",
read32(bar+0x180000+0x61114));
According to the datasheet, the bits in this register should change but only if enabled in PORT_HOTPLUG_EN (0x61110).
Nico
NB. There is also libgfxinit support under review [1]. In case you are trying to do some native graphics init ;)
[1] https://review.coreboot.org/q/topic:%2522baytrail-libgfxinit%2522
Hi,
On 30.07.21 16:47, Rao G wrote:
The problem originally I had was that on PortC, DP/HDMI did not work for the external display in the OS, In BIOS it looked good, so I configured PortC as an eDP interface then the external display started working in the OS.
this sounds much like you are still facing the same problem. When you configure the port as eDP, Linux' i915 will simply skip reading the exact register we are looking (and just assume the display is present).
Have you tried to measure the hotplug signal when your display is connected/disconnected? Maybe something is physically wrong with the board design, cable, or display?
Nico
Thanks Nico.
HPD is active , measured the signal
Configured Ports 1.DDI0- PortB - DP with HDMI/DVI is good in BIOS & OS 2.DDI1- PortC - DP with HDMI/DVI is good in BIOS, i915 was turning off the DP display (Never understood the reason)
So configured PortC with eDP
If there is no way BIOS to detect the external display with MMIO registers when configured as eDP, Can i not turn off the DDI1/Port C at runtime in BIOS, am expecting some register should set with eDP as interface and when display is connected
any clue why the i915 OS driver was turning off DP display in case 2?
Regards Rao
On Fri, Jul 30, 2021 at 4:49 PM Nico Huber nico.h@gmx.de wrote:
Hi,
On 30.07.21 16:47, Rao G wrote:
The problem originally I had was that on PortC, DP/HDMI did not work for the external display in the OS, In BIOS it looked good, so I configured PortC as an eDP interface then the external display
started
working in the OS.
this sounds much like you are still facing the same problem. When you configure the port as eDP, Linux' i915 will simply skip reading the exact register we are looking (and just assume the display is present).
Have you tried to measure the hotplug signal when your display is connected/disconnected? Maybe something is physically wrong with the board design, cable, or display?
Nico
On 30.07.21 18:59, Rao G wrote:
Thanks Nico.
HPD is active , measured the signal
Is your coreboot port public somewhere? If the hardware is fine, maybe the firmware isn't?
Configured Ports 1.DDI0- PortB - DP with HDMI/DVI is good in BIOS & OS 2.DDI1- PortC - DP with HDMI/DVI is good in BIOS, i915 was turning off the DP display (Never understood the reason)
It's very suspicious that these two behave differently. Does the HPD signal (MMIO read) work for DDI0?
So configured PortC with eDP
If there is no way BIOS to detect the external display with MMIO registers when configured as eDP, Can i not turn off the DDI1/Port C at runtime in BIOS,
Maybe it's time to switch to an open-source solution? libgfxinit will probably have the same issue, but it might be possible to get a rather short delay.
am expecting some register should set with eDP as interface and when display is connected
any clue why the i915 OS driver was turning off DP display in case 2?
I assume the HPD signal doesn't get through to the software.
Nico
Thanks Nico for your response.
am expecting some register should set with eDP as interface and when display is connected
any clue why the i915 OS driver was turning off DP display in case 2?
I assume the HPD signal doesn't get through to the software.
[*Rao*] You mean I need to check PORT_HOTPLUG_EN and PORT_HOTPLUG_STAT mmio offsets for this issue? BIOS display is fine, Windows logo is also seen but there is no signal when "windows login" is reached
It had similar behaviour w.r.t to ubuntu 18.04, I configured DDI1 to "DP with HDMI/DVI"
Can this issue be fixed with VBE data configured through BMP or it needs a fix from graphics MMIO?
Regards Rao
On Fri, Jul 30, 2021 at 10:27 PM Nico Huber nico.h@gmx.de wrote:
On 30.07.21 18:59, Rao G wrote:
Thanks Nico.
HPD is active , measured the signal
Is your coreboot port public somewhere? If the hardware is fine, maybe the firmware isn't?
Configured Ports 1.DDI0- PortB - DP with HDMI/DVI is good in BIOS & OS 2.DDI1- PortC - DP with HDMI/DVI is good in BIOS, i915 was turning off
the
DP display (Never understood the reason)
It's very suspicious that these two behave differently. Does the HPD signal (MMIO read) work for DDI0?
So configured PortC with eDP
If there is no way BIOS to detect the external display with MMIO
registers
when configured as eDP, Can i not turn off the DDI1/Port C at runtime in BIOS,
Maybe it's time to switch to an open-source solution? libgfxinit will probably have the same issue, but it might be possible to get a rather short delay.
am expecting some register should set with eDP as interface and when display is connected
any clue why the i915 OS driver was turning off DP display in case 2?
I assume the HPD signal doesn't get through to the software.
Nico
On Wed, Aug 11, 2021 at 5:05 AM Rao G grao.v80@gmail.com wrote:
Thanks Nico for your response.
am expecting some register should set with eDP as interface and when display is connected
any clue why the i915 OS driver was turning off DP display in case 2?
I assume the HPD signal doesn't get through to the software.
[Rao] You mean I need to check PORT_HOTPLUG_EN and PORT_HOTPLUG_STAT mmio offsets for this issue? BIOS display is fine, Windows logo is also seen but there is no signal when "windows login" is reached
IME, that's almost always due to incorrect/missing/mismatched VBT data in the ACPI opregion/mailbox
It had similar behaviour w.r.t to ubuntu 18.04, I configured DDI1 to "DP with HDMI/DVI"
Can this issue be fixed with VBE data configured through BMP or it needs a fix from graphics MMIO?
Regards Rao
On Fri, Jul 30, 2021 at 10:27 PM Nico Huber nico.h@gmx.de wrote:
On 30.07.21 18:59, Rao G wrote:
Thanks Nico.
HPD is active , measured the signal
Is your coreboot port public somewhere? If the hardware is fine, maybe the firmware isn't?
Configured Ports 1.DDI0- PortB - DP with HDMI/DVI is good in BIOS & OS 2.DDI1- PortC - DP with HDMI/DVI is good in BIOS, i915 was turning off the DP display (Never understood the reason)
It's very suspicious that these two behave differently. Does the HPD signal (MMIO read) work for DDI0?
So configured PortC with eDP
If there is no way BIOS to detect the external display with MMIO registers when configured as eDP, Can i not turn off the DDI1/Port C at runtime in BIOS,
Maybe it's time to switch to an open-source solution? libgfxinit will probably have the same issue, but it might be possible to get a rather short delay.
am expecting some register should set with eDP as interface and when display is connected
any clue why the i915 OS driver was turning off DP display in case 2?
I assume the HPD signal doesn't get through to the software.
Nico
coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
Thank you Matt.
the VBT data in BIOS and VBT data captured in OS if they remain identical would that mean this problem is not due to VBT data copied into ACPINVS igd_opregion?
Attaching VBT data for this platform which is captured from OS
also Xrandr output on each Video Interface
On Wed, Aug 11, 2021 at 3:28 PM Matt DeVillier matt.devillier@gmail.com wrote:
On Wed, Aug 11, 2021 at 5:05 AM Rao G grao.v80@gmail.com wrote:
Thanks Nico for your response.
am expecting some register should set with eDP as interface and when display is connected
any clue why the i915 OS driver was turning off DP display in case 2?
I assume the HPD signal doesn't get through to the software.
[Rao] You mean I need to check PORT_HOTPLUG_EN and PORT_HOTPLUG_STAT mmio
offsets for this issue?
BIOS display is fine, Windows logo is also seen but there is no signal
when "windows login" is reached
IME, that's almost always due to incorrect/missing/mismatched VBT data in the ACPI opregion/mailbox
It had similar behaviour w.r.t to ubuntu 18.04, I configured DDI1 to "DP
with HDMI/DVI"
Can this issue be fixed with VBE data configured through BMP or it needs
a fix from graphics MMIO?
Regards Rao
On Fri, Jul 30, 2021 at 10:27 PM Nico Huber nico.h@gmx.de wrote:
On 30.07.21 18:59, Rao G wrote:
Thanks Nico.
HPD is active , measured the signal
Is your coreboot port public somewhere? If the hardware is fine, maybe the firmware isn't?
Configured Ports 1.DDI0- PortB - DP with HDMI/DVI is good in BIOS & OS 2.DDI1- PortC - DP with HDMI/DVI is good in BIOS, i915 was turning
off the
DP display (Never understood the reason)
It's very suspicious that these two behave differently. Does the HPD signal (MMIO read) work for DDI0?
So configured PortC with eDP
If there is no way BIOS to detect the external display with MMIO
registers
when configured as eDP, Can i not turn off the DDI1/Port C at runtime
in
BIOS,
Maybe it's time to switch to an open-source solution? libgfxinit will probably have the same issue, but it might be possible to get a rather short delay.
am expecting some register should set with eDP as interface and when display is connected
any clue why the i915 OS driver was turning off DP display in case 2?
I assume the HPD signal doesn't get through to the software.
Nico
coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
Hi Matt,
Compared VBT data in pre-OS and OS, the data is identical.
Likely issue due to MMIO registers not configured correctly defined in below spec? https://01.org/sites/default/files/documentation/intel_os_gfx_prm_vol10_-_di...
The LVDS display which is on DDI0 is fine so I could switch to OS and get VBT data. DP/HDMI/DVI on DDI1 in windows is causing the issue.
I expect coreboot is filling below mailbox's correctly?
INTEL_IGD_OPREGION_MBOX1 MBox1; // Mailbox 1: Public ACPI Methods INTEL_IGD_OPREGION_MBOX2 MBox2; // Mailbox 2: Software SCI Inteface INTEL_IGD_OPREGION_MBOX3 MBox3; // Mailbox 3: BIOS/Driver Communication INTEL_IGD_OPREGION_VBT VBT; // Video BIOS Table (OEM customizable data)
Regards Rao
On Thu, Aug 12, 2021 at 10:24 AM Rao G grao.v80@gmail.com wrote:
Thank you Matt.
the VBT data in BIOS and VBT data captured in OS if they remain identical would that mean this problem is not due to VBT data copied into ACPINVS igd_opregion?
Attaching VBT data for this platform which is captured from OS
also Xrandr output on each Video Interface
On Wed, Aug 11, 2021 at 3:28 PM Matt DeVillier matt.devillier@gmail.com wrote:
On Wed, Aug 11, 2021 at 5:05 AM Rao G grao.v80@gmail.com wrote:
Thanks Nico for your response.
am expecting some register should set with eDP as interface and when display is connected
any clue why the i915 OS driver was turning off DP display in case 2?
I assume the HPD signal doesn't get through to the software.
[Rao] You mean I need to check PORT_HOTPLUG_EN and PORT_HOTPLUG_STAT mmio
offsets for this issue?
BIOS display is fine, Windows logo is also seen but there is no signal
when "windows login" is reached
IME, that's almost always due to incorrect/missing/mismatched VBT data in the ACPI opregion/mailbox
It had similar behaviour w.r.t to ubuntu 18.04, I configured DDI1 to
"DP with HDMI/DVI"
Can this issue be fixed with VBE data configured through BMP or it
needs a fix from graphics MMIO?
Regards Rao
On Fri, Jul 30, 2021 at 10:27 PM Nico Huber nico.h@gmx.de wrote:
On 30.07.21 18:59, Rao G wrote:
Thanks Nico.
HPD is active , measured the signal
Is your coreboot port public somewhere? If the hardware is fine, maybe the firmware isn't?
Configured Ports 1.DDI0- PortB - DP with HDMI/DVI is good in BIOS & OS 2.DDI1- PortC - DP with HDMI/DVI is good in BIOS, i915 was turning
off the
DP display (Never understood the reason)
It's very suspicious that these two behave differently. Does the HPD signal (MMIO read) work for DDI0?
So configured PortC with eDP
If there is no way BIOS to detect the external display with MMIO
registers
when configured as eDP, Can i not turn off the DDI1/Port C at
runtime in
BIOS,
Maybe it's time to switch to an open-source solution? libgfxinit will probably have the same issue, but it might be possible to get a rather short delay.
am expecting some register should set with eDP as interface and when display is connected
any clue why the i915 OS driver was turning off DP display in case 2?
I assume the HPD signal doesn't get through to the software.
Nico
coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org