Skip to content

Commit 26eeea1

Browse files
aditya23788mlankhorst
authored andcommitted
drm/i915/icl: Fix CRC mismatch error for DP link layer compliance
Setting the pixel rounding bit to 1 in PIPE_CHICKEN register allows to passthrough FB pixels unmodified across pipe. This fixes the failures for DP link layer compliance tests 4.4.1.1, 4.4.1.2 & 4.4.1.3. (Lineage #1605353570) v2: This is also needed to fix failing IGT test case kms_cursor_crc on ICL.(Mika Kahola) Make macros consistent with i915_reg.h comments.(Jani Nikula) Cc: Clint Taylor <clinton.a.taylor@intel.com> Cc: Mika Kahola <mika.kahola@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Signed-off-by: Aditya Swarup <aditya.swarup@intel.com> Reviewed-by: Mika Kahola <mika.kahola@intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190307021412.18626-1-aditya.swarup@intel.com References: https://bugs.freedesktop.org/show_bug.cgi?id=103232
1 parent f4ecb8a commit 26eeea1

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

drivers/gpu/drm/i915/i915_reg.h

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7659,12 +7659,13 @@ enum {
76597659
#define GEN9_LBS_SLA_RETRY_TIMER_DECREMENT_ENABLE (1 << 2)
76607660

76617661
/*GEN11 chicken */
7662-
#define _PIPEA_CHICKEN 0x70038
7663-
#define _PIPEB_CHICKEN 0x71038
7664-
#define _PIPEC_CHICKEN 0x72038
7665-
#define PER_PIXEL_ALPHA_BYPASS_EN (1 << 7)
7666-
#define PIPE_CHICKEN(pipe) _MMIO_PIPE(pipe, _PIPEA_CHICKEN,\
7667-
_PIPEB_CHICKEN)
7662+
#define _PIPEA_CHICKEN 0x70038
7663+
#define _PIPEB_CHICKEN 0x71038
7664+
#define _PIPEC_CHICKEN 0x72038
7665+
#define PIPE_CHICKEN(pipe) _MMIO_PIPE(pipe, _PIPEA_CHICKEN,\
7666+
_PIPEB_CHICKEN)
7667+
#define PIXEL_ROUNDING_TRUNC_FB_PASSTHRU (1 << 15)
7668+
#define PER_PIXEL_ALPHA_BYPASS_EN (1 << 7)
76687669

76697670
/* PCH */
76707671

drivers/gpu/drm/i915/intel_display.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3933,7 +3933,13 @@ static void icl_set_pipe_chicken(struct intel_crtc *crtc)
39333933
* and rounding for per-pixel values 00 and 0xff
39343934
*/
39353935
tmp |= PER_PIXEL_ALPHA_BYPASS_EN;
3936-
3936+
/*
3937+
* Display WA # 1605353570: icl
3938+
* Set the pixel rounding bit to 1 for allowing
3939+
* passthrough of Frame buffer pixels unmodified
3940+
* across pipe
3941+
*/
3942+
tmp |= PIXEL_ROUNDING_TRUNC_FB_PASSTHRU;
39373943
I915_WRITE(PIPE_CHICKEN(pipe), tmp);
39383944
}
39393945

0 commit comments

Comments
 (0)