diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4511-drm-amd-display-use-drm-defines-for-MAX-CASCADE-MASK.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4511-drm-amd-display-use-drm-defines-for-MAX-CASCADE-MASK.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4511-drm-amd-display-use-drm-defines-for-MAX-CASCADE-MASK.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4511-drm-amd-display-use-drm-defines-for-MAX-CASCADE-MASK.patch new file mode 100644 index 00000000..20585ba3 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4511-drm-amd-display-use-drm-defines-for-MAX-CASCADE-MASK.patch @@ -0,0 +1,75 @@ +From 50a7be8911fff66f9b4a719d80aab7cf89967fc1 Mon Sep 17 00:00:00 2001 +From: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> +Date: Thu, 24 Oct 2019 16:07:43 -0400 +Subject: [PATCH 4511/4736] drm/amd/display: use drm defines for MAX CASCADE + MASK + +[Why] +drm already has this define + +[How] +drm Mask is 0x08 vs 0x0800. The reason is because drm mask +works on a byte. ^^ + =======|| + || +Since the first byte is always zero we can ignore it and only check the +second byte. + +Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> +Reviewed-by: Harry Wentland <harry.wentland@amd.com> +--- + drivers/gpu/drm/amd/display/modules/hdcp/hdcp.h | 4 ---- + .../drm/amd/display/modules/hdcp/hdcp1_execution.c | 14 ++++++-------- + 2 files changed, 6 insertions(+), 12 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/modules/hdcp/hdcp.h b/drivers/gpu/drm/amd/display/modules/hdcp/hdcp.h +index bfb32afc1868..f6bba487d1d4 100644 +--- a/drivers/gpu/drm/amd/display/modules/hdcp/hdcp.h ++++ b/drivers/gpu/drm/amd/display/modules/hdcp/hdcp.h +@@ -35,8 +35,6 @@ + /* TODO: + * Replace below defines with these + * +- * #define DRM_HDCP_MAX_CASCADE_EXCEEDED(x) (x & BIT(3)) +- * #define DRM_HDCP_MAX_CASCADE_EXCEEDED(x) (x & BIT(3)) + * #define HDCP_2_2_HDMI_RXSTATUS_MSG_SZ_HI(x) ((x) & 0x3) + * #define HDCP_2_2_HDMI_RXSTATUS_READY(x) ((x) & BIT(2)) + * #define HDCP_2_2_HDMI_RXSTATUS_REAUTH_REQ(x) ((x) & BIT(3)) +@@ -46,8 +44,6 @@ + * split the HDMI rxstatus into 2bytes before we can use usptream defs + */ + +-#define BSTATUS_MAX_CASCADE_EXCEEDED_MASK 0x0800 +-#define BINFO_MAX_CASCADE_EXCEEDED_MASK_DP 0x0800 + #define RXSTATUS_MSG_SIZE_MASK 0x03FF + #define RXSTATUS_READY_MASK 0x0400 + #define RXSTATUS_REAUTH_REQUEST_MASK 0x0800 +diff --git a/drivers/gpu/drm/amd/display/modules/hdcp/hdcp1_execution.c b/drivers/gpu/drm/amd/display/modules/hdcp/hdcp1_execution.c +index 4618abd6504f..4d11041a8c6f 100644 +--- a/drivers/gpu/drm/amd/display/modules/hdcp/hdcp1_execution.c ++++ b/drivers/gpu/drm/amd/display/modules/hdcp/hdcp1_execution.c +@@ -92,15 +92,13 @@ static inline enum mod_hdcp_status check_no_max_cascade(struct mod_hdcp *hdcp) + enum mod_hdcp_status status; + + if (is_dp_hdcp(hdcp)) +- status = (hdcp->auth.msg.hdcp1.binfo_dp & +- BINFO_MAX_CASCADE_EXCEEDED_MASK_DP) ? +- MOD_HDCP_STATUS_HDCP1_MAX_CASCADE_EXCEEDED_FAILURE : +- MOD_HDCP_STATUS_SUCCESS; ++ status = DRM_HDCP_MAX_CASCADE_EXCEEDED(hdcp->auth.msg.hdcp1.binfo_dp >> 8) ++ ? MOD_HDCP_STATUS_HDCP1_MAX_CASCADE_EXCEEDED_FAILURE ++ : MOD_HDCP_STATUS_SUCCESS; + else +- status = (hdcp->auth.msg.hdcp1.bstatus & +- BSTATUS_MAX_CASCADE_EXCEEDED_MASK) ? +- MOD_HDCP_STATUS_HDCP1_MAX_CASCADE_EXCEEDED_FAILURE : +- MOD_HDCP_STATUS_SUCCESS; ++ status = DRM_HDCP_MAX_CASCADE_EXCEEDED(hdcp->auth.msg.hdcp1.bstatus >> 8) ++ ? MOD_HDCP_STATUS_HDCP1_MAX_CASCADE_EXCEEDED_FAILURE ++ : MOD_HDCP_STATUS_SUCCESS; + return status; + } + +-- +2.17.1 + |