Commit bdfe9fd8 authored by Bjorn Andersson's avatar Bjorn Andersson

Merge branch 'drivers-for-6.10' onto 'v6.9-rc1'

Merge the patches that was picked up for v6.10 before v6.9-rc1 became
available onto v6.9-rc1 to reduce the risk for conflicts etc.
parents 4cece764 f8627c30
...@@ -163,9 +163,6 @@ static int qcom_scm_bw_enable(void) ...@@ -163,9 +163,6 @@ static int qcom_scm_bw_enable(void)
if (!__scm->path) if (!__scm->path)
return 0; return 0;
if (IS_ERR(__scm->path))
return -EINVAL;
mutex_lock(&__scm->scm_bw_lock); mutex_lock(&__scm->scm_bw_lock);
if (!__scm->scm_vote_count) { if (!__scm->scm_vote_count) {
ret = icc_set_bw(__scm->path, 0, UINT_MAX); ret = icc_set_bw(__scm->path, 0, UINT_MAX);
...@@ -183,7 +180,7 @@ static int qcom_scm_bw_enable(void) ...@@ -183,7 +180,7 @@ static int qcom_scm_bw_enable(void)
static void qcom_scm_bw_disable(void) static void qcom_scm_bw_disable(void)
{ {
if (IS_ERR_OR_NULL(__scm->path)) if (!__scm->path)
return; return;
mutex_lock(&__scm->scm_bw_lock); mutex_lock(&__scm->scm_bw_lock);
...@@ -569,13 +566,14 @@ int qcom_scm_pas_init_image(u32 peripheral, const void *metadata, size_t size, ...@@ -569,13 +566,14 @@ int qcom_scm_pas_init_image(u32 peripheral, const void *metadata, size_t size,
ret = qcom_scm_bw_enable(); ret = qcom_scm_bw_enable();
if (ret) if (ret)
return ret; goto disable_clk;
desc.args[1] = mdata_phys; desc.args[1] = mdata_phys;
ret = qcom_scm_call(__scm->dev, &desc, &res); ret = qcom_scm_call(__scm->dev, &desc, &res);
qcom_scm_bw_disable(); qcom_scm_bw_disable();
disable_clk:
qcom_scm_clk_disable(); qcom_scm_clk_disable();
out: out:
...@@ -637,10 +635,12 @@ int qcom_scm_pas_mem_setup(u32 peripheral, phys_addr_t addr, phys_addr_t size) ...@@ -637,10 +635,12 @@ int qcom_scm_pas_mem_setup(u32 peripheral, phys_addr_t addr, phys_addr_t size)
ret = qcom_scm_bw_enable(); ret = qcom_scm_bw_enable();
if (ret) if (ret)
return ret; goto disable_clk;
ret = qcom_scm_call(__scm->dev, &desc, &res); ret = qcom_scm_call(__scm->dev, &desc, &res);
qcom_scm_bw_disable(); qcom_scm_bw_disable();
disable_clk:
qcom_scm_clk_disable(); qcom_scm_clk_disable();
return ret ? : res.result[0]; return ret ? : res.result[0];
...@@ -672,10 +672,12 @@ int qcom_scm_pas_auth_and_reset(u32 peripheral) ...@@ -672,10 +672,12 @@ int qcom_scm_pas_auth_and_reset(u32 peripheral)
ret = qcom_scm_bw_enable(); ret = qcom_scm_bw_enable();
if (ret) if (ret)
return ret; goto disable_clk;
ret = qcom_scm_call(__scm->dev, &desc, &res); ret = qcom_scm_call(__scm->dev, &desc, &res);
qcom_scm_bw_disable(); qcom_scm_bw_disable();
disable_clk:
qcom_scm_clk_disable(); qcom_scm_clk_disable();
return ret ? : res.result[0]; return ret ? : res.result[0];
...@@ -706,11 +708,12 @@ int qcom_scm_pas_shutdown(u32 peripheral) ...@@ -706,11 +708,12 @@ int qcom_scm_pas_shutdown(u32 peripheral)
ret = qcom_scm_bw_enable(); ret = qcom_scm_bw_enable();
if (ret) if (ret)
return ret; goto disable_clk;
ret = qcom_scm_call(__scm->dev, &desc, &res); ret = qcom_scm_call(__scm->dev, &desc, &res);
qcom_scm_bw_disable(); qcom_scm_bw_disable();
disable_clk:
qcom_scm_clk_disable(); qcom_scm_clk_disable();
return ret ? : res.result[0]; return ret ? : res.result[0];
......
...@@ -362,7 +362,7 @@ static int __init cmd_db_device_init(void) ...@@ -362,7 +362,7 @@ static int __init cmd_db_device_init(void)
{ {
return platform_driver_register(&cmd_db_dev_driver); return platform_driver_register(&cmd_db_dev_driver);
} }
arch_initcall(cmd_db_device_init); core_initcall(cmd_db_device_init);
MODULE_DESCRIPTION("Qualcomm Technologies, Inc. Command DB Driver"); MODULE_DESCRIPTION("Qualcomm Technologies, Inc. Command DB Driver");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
...@@ -282,7 +282,7 @@ static const struct regmap_config msm8998_bwmon_regmap_cfg = { ...@@ -282,7 +282,7 @@ static const struct regmap_config msm8998_bwmon_regmap_cfg = {
* Cache is necessary for using regmap fields with non-readable * Cache is necessary for using regmap fields with non-readable
* registers. * registers.
*/ */
.cache_type = REGCACHE_RBTREE, .cache_type = REGCACHE_MAPLE,
}; };
static const struct regmap_config msm8998_bwmon_global_regmap_cfg = { static const struct regmap_config msm8998_bwmon_global_regmap_cfg = {
...@@ -301,7 +301,7 @@ static const struct regmap_config msm8998_bwmon_global_regmap_cfg = { ...@@ -301,7 +301,7 @@ static const struct regmap_config msm8998_bwmon_global_regmap_cfg = {
* Cache is necessary for using regmap fields with non-readable * Cache is necessary for using regmap fields with non-readable
* registers. * registers.
*/ */
.cache_type = REGCACHE_RBTREE, .cache_type = REGCACHE_MAPLE,
}; };
static const struct reg_field sdm845_cpu_bwmon_reg_fields[] = { static const struct reg_field sdm845_cpu_bwmon_reg_fields[] = {
...@@ -369,7 +369,7 @@ static const struct regmap_config sdm845_cpu_bwmon_regmap_cfg = { ...@@ -369,7 +369,7 @@ static const struct regmap_config sdm845_cpu_bwmon_regmap_cfg = {
* Cache is necessary for using regmap fields with non-readable * Cache is necessary for using regmap fields with non-readable
* registers. * registers.
*/ */
.cache_type = REGCACHE_RBTREE, .cache_type = REGCACHE_MAPLE,
}; };
/* BWMON v5 */ /* BWMON v5 */
...@@ -446,7 +446,7 @@ static const struct regmap_config sdm845_llcc_bwmon_regmap_cfg = { ...@@ -446,7 +446,7 @@ static const struct regmap_config sdm845_llcc_bwmon_regmap_cfg = {
* Cache is necessary for using regmap fields with non-readable * Cache is necessary for using regmap fields with non-readable
* registers. * registers.
*/ */
.cache_type = REGCACHE_RBTREE, .cache_type = REGCACHE_MAPLE,
}; };
static void bwmon_clear_counters(struct icc_bwmon *bwmon, bool clear_all) static void bwmon_clear_counters(struct icc_bwmon *bwmon, bool clear_all)
......
...@@ -35,11 +35,15 @@ static const struct subsystem_data subsystems[] = { ...@@ -35,11 +35,15 @@ static const struct subsystem_data subsystems[] = {
{ "wpss", 605, 13 }, { "wpss", 605, 13 },
{ "adsp", 606, 2 }, { "adsp", 606, 2 },
{ "cdsp", 607, 5 }, { "cdsp", 607, 5 },
{ "cdsp1", 607, 12 },
{ "gpdsp0", 607, 17 },
{ "gpdsp1", 607, 18 },
{ "slpi", 608, 3 }, { "slpi", 608, 3 },
{ "gpu", 609, 0 }, { "gpu", 609, 0 },
{ "display", 610, 0 }, { "display", 610, 0 },
{ "adsp_island", 613, 2 }, { "adsp_island", 613, 2 },
{ "slpi_island", 613, 3 }, { "slpi_island", 613, 3 },
{ "apss", 631, QCOM_SMEM_HOST_ANY },
}; };
struct stats_config { struct stats_config {
......
...@@ -1154,7 +1154,7 @@ static int __init rpmh_driver_init(void) ...@@ -1154,7 +1154,7 @@ static int __init rpmh_driver_init(void)
{ {
return platform_driver_register(&rpmh_driver); return platform_driver_register(&rpmh_driver);
} }
arch_initcall(rpmh_driver_init); core_initcall(rpmh_driver_init);
MODULE_DESCRIPTION("Qualcomm Technologies, Inc. RPMh Driver"); MODULE_DESCRIPTION("Qualcomm Technologies, Inc. RPMh Driver");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
...@@ -133,6 +133,7 @@ static const char *const pmic_models[] = { ...@@ -133,6 +133,7 @@ static const char *const pmic_models[] = {
[72] = "PMR735D", [72] = "PMR735D",
[73] = "PM8550", [73] = "PM8550",
[74] = "PMK8550", [74] = "PMK8550",
[82] = "SMB2360",
}; };
struct socinfo_params { struct socinfo_params {
...@@ -430,6 +431,7 @@ static const struct soc_id soc_id[] = { ...@@ -430,6 +431,7 @@ static const struct soc_id soc_id[] = {
{ qcom_board_id(QRU1000) }, { qcom_board_id(QRU1000) },
{ qcom_board_id(SM8475_2) }, { qcom_board_id(SM8475_2) },
{ qcom_board_id(QDU1000) }, { qcom_board_id(QDU1000) },
{ qcom_board_id(X1E80100) },
{ qcom_board_id(SM8650) }, { qcom_board_id(SM8650) },
{ qcom_board_id(SM4450) }, { qcom_board_id(SM4450) },
{ qcom_board_id(QDU1010) }, { qcom_board_id(QDU1010) },
......
...@@ -258,6 +258,7 @@ ...@@ -258,6 +258,7 @@
#define QCOM_ID_QRU1000 539 #define QCOM_ID_QRU1000 539
#define QCOM_ID_SM8475_2 540 #define QCOM_ID_SM8475_2 540
#define QCOM_ID_QDU1000 545 #define QCOM_ID_QDU1000 545
#define QCOM_ID_X1E80100 555
#define QCOM_ID_SM8650 557 #define QCOM_ID_SM8650 557
#define QCOM_ID_SM4450 568 #define QCOM_ID_SM4450 568
#define QCOM_ID_QDU1010 587 #define QCOM_ID_QDU1010 587
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment