* Intel eDP and fixed_mode probing/initialization
@ 2016-04-30 5:01 Josh Litherland
2016-05-02 8:12 ` Jani Nikula
0 siblings, 1 reply; 3+ messages in thread
From: Josh Litherland @ 2016-04-30 5:01 UTC (permalink / raw)
To: intel-gfx
Hoping someone can point me in the right direction to understanding
how intel_connector->panel.fixed_mode gets probed, as it's referenced
in function "intel_dp_mode_valid" at drivers/gpu/drm/i915/intel_dp.c.
I am working with a panel hooked up via DSUB to a port that is
internally wired as eDP-1. The kernel is correctly probing its
EDID-advertised preferred mode, 1360x768@60. However, in the
above-named function, that mode is then being discarded with status
MODE_PANEL (exceeds panel dimensions). After poking around a bit and
adding some debugging output, I've gotten as far as the above-named
function and found that fixed_mode is coming in to that function as
1280x800. Trying to trace back farther than that I get a bit lost.
Thanks in advance if anyone can help me figure out where that spurious
mode limitation is coming from.
Incidentally, commenting out the checks against fixed_mode->hdisplay
and fixed_mode->vdisplay make the panel work correctly, but I'd like
to come at this from the other direction and find out why the probe
failed in the first place.
Thanks!
Kernel is 3.16.0-4-686-pae from Debian Jessie
Device is Intel Atom Processor Z36xxx/Z37xxx (8086:0f31)
Dmesg here, interesting bit starts around line 807:
http://pastebin.com/kpeWW0iB
--
Josh Litherland (josh@temp123.org)
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Intel eDP and fixed_mode probing/initialization
2016-04-30 5:01 Intel eDP and fixed_mode probing/initialization Josh Litherland
@ 2016-05-02 8:12 ` Jani Nikula
2016-05-03 17:07 ` Josh Litherland
0 siblings, 1 reply; 3+ messages in thread
From: Jani Nikula @ 2016-05-02 8:12 UTC (permalink / raw)
To: Josh Litherland, intel-gfx
On Sat, 30 Apr 2016, Josh Litherland <josh@temp123.org> wrote:
> Hoping someone can point me in the right direction to understanding
> how intel_connector->panel.fixed_mode gets probed, as it's referenced
> in function "intel_dp_mode_valid" at drivers/gpu/drm/i915/intel_dp.c.
>
> I am working with a panel hooked up via DSUB to a port that is
> internally wired as eDP-1. The kernel is correctly probing its
> EDID-advertised preferred mode, 1360x768@60. However, in the
> above-named function, that mode is then being discarded with status
> MODE_PANEL (exceeds panel dimensions). After poking around a bit and
> adding some debugging output, I've gotten as far as the above-named
> function and found that fixed_mode is coming in to that function as
> 1280x800. Trying to trace back farther than that I get a bit lost.
>
> Thanks in advance if anyone can help me figure out where that spurious
> mode limitation is coming from.
>
> Incidentally, commenting out the checks against fixed_mode->hdisplay
> and fixed_mode->vdisplay make the panel work correctly, but I'd like
> to come at this from the other direction and find out why the probe
> failed in the first place.
>
> Thanks!
>
> Kernel is 3.16.0-4-686-pae from Debian Jessie
> Device is Intel Atom Processor Z36xxx/Z37xxx (8086:0f31)
> Dmesg here, interesting bit starts around line 807:
> http://pastebin.com/kpeWW0iB
The fixed mode is supposed to be the panel native mode, probed at the
driver load time. However in your case, the EDID read fails at that time
(tons of "native defer" and "too many retries, giving up") which leads
to using a mode in VBT (Video BIOS Tables). You should be looking at
intel_edp_init_connector().
You don't say whether the panel is detachable or not, but if it is,
hooking it up to the eDP port is clearly a bad idea.
The kernel you're using is pretty old, and we've fixed tons and tons of
DP aux and i2c issues in the driver and the drm core since then. You'd
probably have better chances of making the initial probe work with
latest kernels. An alternative is to fix your VBT (if you have access to
tools to do that) to match the panel.
BR,
Jani.
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Intel eDP and fixed_mode probing/initialization
2016-05-02 8:12 ` Jani Nikula
@ 2016-05-03 17:07 ` Josh Litherland
0 siblings, 0 replies; 3+ messages in thread
From: Josh Litherland @ 2016-05-03 17:07 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
Thank you for your response!
This panel is a separate piece, yes, hooked up via VGA, which I guess
is wired internally on this mini-PC to eDP; the kernel names it
card0-eDP-1.
I thought it might be having issues with probing the EDID, so I'm
providing it the EDID blob directly with
drm_kms_helper.edid_firmware=<file>; should that not work around the
issue?
I know exactly what resolution and timings I need to drive this panel;
is there any way I can just short-circuit all this probing and feed it
a timings string directly?
On Mon, May 2, 2016 at 4:12 AM, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Sat, 30 Apr 2016, Josh Litherland <josh@temp123.org> wrote:
>> Hoping someone can point me in the right direction to understanding
>> how intel_connector->panel.fixed_mode gets probed, as it's referenced
>> in function "intel_dp_mode_valid" at drivers/gpu/drm/i915/intel_dp.c.
>>
>> I am working with a panel hooked up via DSUB to a port that is
>> internally wired as eDP-1. The kernel is correctly probing its
>> EDID-advertised preferred mode, 1360x768@60. However, in the
>> above-named function, that mode is then being discarded with status
>> MODE_PANEL (exceeds panel dimensions). After poking around a bit and
>> adding some debugging output, I've gotten as far as the above-named
>> function and found that fixed_mode is coming in to that function as
>> 1280x800. Trying to trace back farther than that I get a bit lost.
>>
>> Thanks in advance if anyone can help me figure out where that spurious
>> mode limitation is coming from.
>>
>> Incidentally, commenting out the checks against fixed_mode->hdisplay
>> and fixed_mode->vdisplay make the panel work correctly, but I'd like
>> to come at this from the other direction and find out why the probe
>> failed in the first place.
>>
>> Thanks!
>>
>> Kernel is 3.16.0-4-686-pae from Debian Jessie
>> Device is Intel Atom Processor Z36xxx/Z37xxx (8086:0f31)
>> Dmesg here, interesting bit starts around line 807:
>> http://pastebin.com/kpeWW0iB
>
> The fixed mode is supposed to be the panel native mode, probed at the
> driver load time. However in your case, the EDID read fails at that time
> (tons of "native defer" and "too many retries, giving up") which leads
> to using a mode in VBT (Video BIOS Tables). You should be looking at
> intel_edp_init_connector().
>
> You don't say whether the panel is detachable or not, but if it is,
> hooking it up to the eDP port is clearly a bad idea.
>
> The kernel you're using is pretty old, and we've fixed tons and tons of
> DP aux and i2c issues in the driver and the drm core since then. You'd
> probably have better chances of making the initial probe work with
> latest kernels. An alternative is to fix your VBT (if you have access to
> tools to do that) to match the panel.
>
> BR,
> Jani.
>
>
> --
> Jani Nikula, Intel Open Source Technology Center
--
Josh Litherland (josh@temp123.org)
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-05-03 17:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-30 5:01 Intel eDP and fixed_mode probing/initialization Josh Litherland
2016-05-02 8:12 ` Jani Nikula
2016-05-03 17:07 ` Josh Litherland
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox