@@ -70,6 +70,14 @@ static void quirk_no_pps_backlight_power_hook(struct intel_display *display)
7070 drm_info (display -> drm , "Applying no pps backlight power quirk\n" );
7171}
7272
73+ static void quirk_fw_sync_len (struct intel_dp * intel_dp )
74+ {
75+ struct intel_display * display = to_intel_display (intel_dp );
76+
77+ intel_set_dpcd_quirk (intel_dp , QUIRK_FW_SYNC_LEN );
78+ drm_info (display -> drm , "Applying Fast Wake sync pulse count quirk\n" );
79+ }
80+
7381struct intel_quirk {
7482 int device ;
7583 int subsystem_vendor ;
@@ -224,6 +232,15 @@ static struct intel_quirk intel_quirks[] = {
224232};
225233
226234static struct intel_dpcd_quirk intel_dpcd_quirks [] = {
235+ /* Dell Precision 5490 */
236+ {
237+ .device = 0x7d55 ,
238+ .subsystem_vendor = 0x1028 ,
239+ .subsystem_device = 0x0cc7 ,
240+ .sink_oui = SINK_OUI (0x38 , 0xec , 0x11 ),
241+ .hook = quirk_fw_sync_len ,
242+ },
243+
227244};
228245
229246void intel_init_quirks (struct intel_display * display )
@@ -265,7 +282,7 @@ void intel_init_dpcd_quirks(struct intel_dp *intel_dp,
265282 !memcmp (q -> sink_oui , ident -> oui , sizeof (ident -> oui )) &&
266283 (!memcmp (q -> sink_device_id , ident -> device_id ,
267284 sizeof (ident -> device_id )) ||
268- mem_is_zero (q -> sink_device_id , sizeof (q -> sink_device_id ))))
285+ ! memchr_inv (q -> sink_device_id , 0 , sizeof (q -> sink_device_id ))))
269286 q -> hook (intel_dp );
270287 }
271288}
0 commit comments