mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
drm/amd/display: fix mapping to non-allocated address
[ Upstream commit 9190d4a263 ]
[Why]
There is an issue mapping non-allocated location of memory.
It would allocate gpio registers from an array out of bounds.
[How]
Patch correct numbers of bounds for using.
Tested-by: Daniel Wheeler <Daniel.Wheeler@amd.com>
Reviewed-by: Martin Leung <Martin.Leung@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Brandon Syu <Brandon.Syu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
83ace0dd67
commit
8ce8a443dd
@@ -138,7 +138,8 @@ static const struct ddc_sh_mask ddc_shift[] = {
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 3),
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 4),
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 5),
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 6)
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 6),
|
||||
DDC_MASK_SH_LIST_DCN2_VGA(__SHIFT)
|
||||
};
|
||||
|
||||
static const struct ddc_sh_mask ddc_mask[] = {
|
||||
@@ -147,7 +148,8 @@ static const struct ddc_sh_mask ddc_mask[] = {
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 3),
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 4),
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 5),
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 6)
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 6),
|
||||
DDC_MASK_SH_LIST_DCN2_VGA(_MASK)
|
||||
};
|
||||
|
||||
#include "../generic_regs.h"
|
||||
|
||||
@@ -145,7 +145,8 @@ static const struct ddc_sh_mask ddc_shift[] = {
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 3),
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 4),
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 5),
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 6)
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 6),
|
||||
DDC_MASK_SH_LIST_DCN2_VGA(__SHIFT)
|
||||
};
|
||||
|
||||
static const struct ddc_sh_mask ddc_mask[] = {
|
||||
@@ -154,7 +155,8 @@ static const struct ddc_sh_mask ddc_mask[] = {
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 3),
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 4),
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 5),
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 6)
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 6),
|
||||
DDC_MASK_SH_LIST_DCN2_VGA(_MASK)
|
||||
};
|
||||
|
||||
#include "../generic_regs.h"
|
||||
|
||||
@@ -149,7 +149,8 @@ static const struct ddc_sh_mask ddc_shift[] = {
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 3),
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 4),
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 5),
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 6)
|
||||
DDC_MASK_SH_LIST_DCN2(__SHIFT, 6),
|
||||
DDC_MASK_SH_LIST_DCN2_VGA(__SHIFT)
|
||||
};
|
||||
|
||||
static const struct ddc_sh_mask ddc_mask[] = {
|
||||
@@ -158,7 +159,8 @@ static const struct ddc_sh_mask ddc_mask[] = {
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 3),
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 4),
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 5),
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 6)
|
||||
DDC_MASK_SH_LIST_DCN2(_MASK, 6),
|
||||
DDC_MASK_SH_LIST_DCN2_VGA(_MASK)
|
||||
};
|
||||
|
||||
#include "../generic_regs.h"
|
||||
|
||||
@@ -113,6 +113,13 @@
|
||||
(PHY_AUX_CNTL__AUX## cd ##_PAD_RXSEL## mask_sh),\
|
||||
(DC_GPIO_AUX_CTRL_5__DDC_PAD## cd ##_I2CMODE## mask_sh)}
|
||||
|
||||
#define DDC_MASK_SH_LIST_DCN2_VGA(mask_sh) \
|
||||
{DDC_MASK_SH_LIST_COMMON(mask_sh),\
|
||||
0,\
|
||||
0,\
|
||||
0,\
|
||||
0}
|
||||
|
||||
struct ddc_registers {
|
||||
struct gpio_registers gpio;
|
||||
uint32_t ddc_setup;
|
||||
|
||||
Reference in New Issue
Block a user