Re: [PATCH] drm/i915/ddi: Fix default eDP detection on port A

From: Thomas Preston
Date: Thu Mar 07 2019 - 05:49:34 EST


On 07/03/2019 10:34, Jani Nikula wrote:
On Wed, 06 Mar 2019, Thomas Preston <thomas.preston@xxxxxxxxxxxxxxx> wrote:
We rely on VBT DDI port info for eDP detection on GEN9 platforms and
above. This breaks GEN9 platforms which don't have VBT because port A
eDP now defaults to false. Fix this by defaulting to true when VBT is
missing.

Please include more details about the machine that doesn't have VBT. Why
don't you have VBT?


We have upgraded from an earlier kernel version (an Intel BSP on v4.1)
which did not require VBT and so our BIOS isn't set up correctly. The
BIOS doesn't set ASLS and fails to find ACPI OpRegion:

[ 9.368433] [drm:intel_opregion_setup [i915]] graphic opregion physical addr: 0x0
[ 9.368490] [drm:intel_opregion_setup [i915]] ACPI OpRegion not supported!

So now our port A is DP instead of eDP. I was hoping a return to "default"
values would remedy this, but I think it's pretty clear now that we should
focus on fixing VBT.

In the long run you'll have better control of what your specific product
does by using a VBT. However, I think we'll probably have to take the
patch anyway.


Would you like me to resubmit with the suggested changes?

I've found a default VBT in the BSP but not sure how to get it into BIOS.
If you could point me in the right direction here that would be really
useful!

There are dangers with default VBTs too. They might contain incorrect
information about the specific board you have. You'll also have to set
up the opregion, not just VBT.


I believe OpRegion is being set up correctly with ACPI tables, but ASLS=0
(points to OpRegion) is quite suspicious. I need to do more digging around
how our BIOS is set up.

I'm afraid I can't help you there. You already know where to look to see
how the kernel side expects things to work.

For testing, the i915.vbt_firmware module parameter is helpful, so you
don't need to change your BIOS to change the VBT.


That's great thanks, I will work on VBT using this for now.