Message ID | 20221210200353.418391-4-konrad.dybcio@linaro.org |
---|---|
State | Accepted |
Commit | 4be39d5d86c690c60e2afe55787fc5ec4409d0f0 |
Headers | show |
Series | MSM8996 eMMC boot fix | expand |
On Sat, 10 Dec 2022 at 23:04, Konrad Dybcio <konrad.dybcio@linaro.org> wrote: > > The device tree reg starts at BUS_BASE + QoS_OFFSET, but the regmap > configs in the ICC driver had values suggesting the reg started at > BUS_BASE. Shrink them down (where they haven't been already, so for > providers where QoS_OFFSET = 0) to make sure they stay within their > window. > > Fixes: 7add937f5222 ("interconnect: qcom: Add MSM8996 interconnect provider driver") > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/interconnect/qcom/msm8996.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > diff --git a/drivers/interconnect/qcom/msm8996.c b/drivers/interconnect/qcom/msm8996.c > index 7ddb1f23fb2a..25a1a32bc611 100644 > --- a/drivers/interconnect/qcom/msm8996.c > +++ b/drivers/interconnect/qcom/msm8996.c > @@ -1813,7 +1813,7 @@ static const struct regmap_config msm8996_a0noc_regmap_config = { > .reg_bits = 32, > .reg_stride = 4, > .val_bits = 32, > - .max_register = 0x9000, > + .max_register = 0x6000, > .fast_io = true > }; > > @@ -1837,7 +1837,7 @@ static const struct regmap_config msm8996_a1noc_regmap_config = { > .reg_bits = 32, > .reg_stride = 4, > .val_bits = 32, > - .max_register = 0x7000, > + .max_register = 0x5000, > .fast_io = true > }; > > @@ -1858,7 +1858,7 @@ static const struct regmap_config msm8996_a2noc_regmap_config = { > .reg_bits = 32, > .reg_stride = 4, > .val_bits = 32, > - .max_register = 0xa000, > + .max_register = 0x7000, > .fast_io = true > }; > > @@ -1886,7 +1886,7 @@ static const struct regmap_config msm8996_bimc_regmap_config = { > .reg_bits = 32, > .reg_stride = 4, > .val_bits = 32, > - .max_register = 0x62000, > + .max_register = 0x5a000, > .fast_io = true > }; > > @@ -1997,7 +1997,7 @@ static const struct regmap_config msm8996_mnoc_regmap_config = { > .reg_bits = 32, > .reg_stride = 4, > .val_bits = 32, > - .max_register = 0x20000, > + .max_register = 0x1c000, > .fast_io = true > }; > > -- > 2.38.1 >
diff --git a/drivers/interconnect/qcom/msm8996.c b/drivers/interconnect/qcom/msm8996.c index 7ddb1f23fb2a..25a1a32bc611 100644 --- a/drivers/interconnect/qcom/msm8996.c +++ b/drivers/interconnect/qcom/msm8996.c @@ -1813,7 +1813,7 @@ static const struct regmap_config msm8996_a0noc_regmap_config = { .reg_bits = 32, .reg_stride = 4, .val_bits = 32, - .max_register = 0x9000, + .max_register = 0x6000, .fast_io = true }; @@ -1837,7 +1837,7 @@ static const struct regmap_config msm8996_a1noc_regmap_config = { .reg_bits = 32, .reg_stride = 4, .val_bits = 32, - .max_register = 0x7000, + .max_register = 0x5000, .fast_io = true }; @@ -1858,7 +1858,7 @@ static const struct regmap_config msm8996_a2noc_regmap_config = { .reg_bits = 32, .reg_stride = 4, .val_bits = 32, - .max_register = 0xa000, + .max_register = 0x7000, .fast_io = true }; @@ -1886,7 +1886,7 @@ static const struct regmap_config msm8996_bimc_regmap_config = { .reg_bits = 32, .reg_stride = 4, .val_bits = 32, - .max_register = 0x62000, + .max_register = 0x5a000, .fast_io = true }; @@ -1997,7 +1997,7 @@ static const struct regmap_config msm8996_mnoc_regmap_config = { .reg_bits = 32, .reg_stride = 4, .val_bits = 32, - .max_register = 0x20000, + .max_register = 0x1c000, .fast_io = true };
The device tree reg starts at BUS_BASE + QoS_OFFSET, but the regmap configs in the ICC driver had values suggesting the reg started at BUS_BASE. Shrink them down (where they haven't been already, so for providers where QoS_OFFSET = 0) to make sure they stay within their window. Fixes: 7add937f5222 ("interconnect: qcom: Add MSM8996 interconnect provider driver") Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> --- drivers/interconnect/qcom/msm8996.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)