[Intel-gfx] [PATCH 04/11] drm/i915: Add EDID read in intel_dp_check_link_status() for Link CTS 4.2.2.1
Todd Previte
tprevite at gmail.com
Mon Apr 13 07:57:10 PDT 2015
On 4/13/15 7:10 AM, Paulo Zanoni wrote:
> 2015-04-10 13:12 GMT-03:00 Todd Previte <tprevite at gmail.com>:
>> Adds in an EDID read after the DPCD read to accommodate test 4.2.2.1 in the
>> Displayport Link CTS Core 1.2 rev1.1. This test requires an EDID read for
>> all HPD plug events. To reduce the amount of code, this EDID read is also
>> used for Link CTS tests 4.2.2.3, 4.2.2.4, 4.2.2.5 and 4.2.2.6. Actual
>> support for these tests is implemented in later patches in this series.
>>
>> Signed-off-by: Todd Previte <tprevite at gmail.com>
> drivers/gpu/drm/i915/intel_dp.c: In function ‘intel_dp_check_link_status’:
> drivers/gpu/drm/i915/intel_dp.c:4140:36: error: ‘struct drm_connector’
> has no member named ‘edid_header_corrupt’
> if (!edid_read || connector->edid_header_corrupt == 1) {
>
> scripts/Makefile.build:258: recipe for target
> 'drivers/gpu/drm/i915/intel_dp.o' failed
> make[4]: *** [drivers/gpu/drm/i915/intel_dp.o] Error 1
Gah. That happened while shuffling stuff around between the patches. All
fixed. The logical OR in
the if-statement has been moved to patch 6 where that variable is
actually declared. Both patches
have already been posted to the list.
I also went back through the entire patch set and verified they all
compile at every stage, so this
shouldn't happen again.
>> ---
>> drivers/gpu/drm/i915/intel_dp.c | 11 +++++++++++
>> 1 file changed, 11 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>> index 23184b0..a5dfaff 100644
>> --- a/drivers/gpu/drm/i915/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>> @@ -3890,6 +3890,9 @@ intel_dp_check_link_status(struct intel_dp *intel_dp)
>> {
>> struct drm_device *dev = intel_dp_to_dev(intel_dp);
>> struct intel_encoder *intel_encoder = &dp_to_dig_port(intel_dp)->base;
>> + struct drm_connector *connector = &intel_dp->attached_connector->base;
>> + struct i2c_adapter *adapter = &intel_dp->aux.ddc;
>> + struct edid *edid_read = NULL;
>> u8 sink_irq_vector;
>> u8 link_status[DP_LINK_STATUS_SIZE];
>>
>> @@ -3906,6 +3909,14 @@ intel_dp_check_link_status(struct intel_dp *intel_dp)
>> return;
>> }
>>
>> + /* Displayport Link CTS Core 1.2 rev1.1 EDID testing
>> + * 4.2.2.1 - EDID read required for all HPD events
>> + */
>> + edid_read = drm_get_edid(connector, adapter);
>> + if (!edid_read || connector->edid_header_corrupt == 1) {
>> + DRM_DEBUG_DRIVER("Invalid EDID detected\n");
>> + }
>> +
>> /* Try to read the source of the interrupt */
>> if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 &&
>> intel_dp_get_sink_irq(intel_dp, &sink_irq_vector)) {
>> --
>> 1.9.1
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
>
More information about the Intel-gfx
mailing list