[PATCH] soc: qcom: ubwc: provide no-UBWC configuration

Dmitry Baryshkov posted 1 patch 3 months ago
There is a newer version of this series
drivers/soc/qcom/ubwc_config.c | 10 ++++++++++
1 file changed, 10 insertions(+)
[PATCH] soc: qcom: ubwc: provide no-UBWC configuration
Posted by Dmitry Baryshkov 3 months ago
After the commit 45a2974157d2 ("drm/msm: Use the central UBWC config
database") the MDSS driver errors out if UBWC database didn't provide it
with the UBWC configuration. Make UBWC database return zero data for
MSM8916 / APQ8016, MSM8974 / APQ8074, MSM8226 and MSM8939.

Fixes: 1924272b9ce1 ("soc: qcom: Add UBWC config provider")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Note: the driver is a part of drivers/soc, but as it got merged through
drm/msm tree, this fix should also go through the drm/msm tree.
---
 drivers/soc/qcom/ubwc_config.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/soc/qcom/ubwc_config.c b/drivers/soc/qcom/ubwc_config.c
index bd0a98aad9f3b222abcf0a7af85a318caffa9841..df074520a8cae1a202a14ca094903bb1e7389066 100644
--- a/drivers/soc/qcom/ubwc_config.c
+++ b/drivers/soc/qcom/ubwc_config.c
@@ -12,6 +12,10 @@
 
 #include <linux/soc/qcom/ubwc.h>
 
+static const struct qcom_ubwc_cfg_data no_ubwc_data = {
+	/* no UBWC, no HBB */
+};
+
 static const struct qcom_ubwc_cfg_data msm8937_data = {
 	.ubwc_enc_version = UBWC_1_0,
 	.ubwc_dec_version = UBWC_1_0,
@@ -215,11 +219,17 @@ static const struct qcom_ubwc_cfg_data x1e80100_data = {
 };
 
 static const struct of_device_id qcom_ubwc_configs[] __maybe_unused = {
+	{ .compatible = "qcom,apq8016", .data = &no_ubwc_data },
+	{ .compatible = "qcom,apq8074", .data = &no_ubwc_data },
 	{ .compatible = "qcom,apq8096", .data = &msm8998_data },
+	{ .compatible = "qcom,msm8226", .data = &no_ubwc_data },
+	{ .compatible = "qcom,msm8916", .data = &no_ubwc_data },
 	{ .compatible = "qcom,msm8917", .data = &msm8937_data },
 	{ .compatible = "qcom,msm8937", .data = &msm8937_data },
+	{ .compatible = "qcom,msm8939", .data = &no_ubwc_data },
 	{ .compatible = "qcom,msm8953", .data = &msm8937_data },
 	{ .compatible = "qcom,msm8956", .data = &msm8937_data },
+	{ .compatible = "qcom,msm8974", .data = &no_ubwc_data },
 	{ .compatible = "qcom,msm8976", .data = &msm8937_data },
 	{ .compatible = "qcom,msm8996", .data = &msm8998_data },
 	{ .compatible = "qcom,msm8998", .data = &msm8998_data },

---
base-commit: 8290d37ad2b087bbcfe65fa5bcaf260e184b250a
change-id: 20250706-ubwc-no-ubwc-3c5919273e03

Best regards,
-- 
With best wishes
Dmitry
Re: [PATCH] soc: qcom: ubwc: provide no-UBWC configuration
Posted by Luca Weiss 2 months, 2 weeks ago
On Sun Jul 6, 2025 at 1:01 PM CEST, Dmitry Baryshkov wrote:
> After the commit 45a2974157d2 ("drm/msm: Use the central UBWC config
> database") the MDSS driver errors out if UBWC database didn't provide it
> with the UBWC configuration. Make UBWC database return zero data for
> MSM8916 / APQ8016, MSM8974 / APQ8074, MSM8226 and MSM8939.
>
> Fixes: 1924272b9ce1 ("soc: qcom: Add UBWC config provider")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> Note: the driver is a part of drivers/soc, but as it got merged through
> drm/msm tree, this fix should also go through the drm/msm tree.
> ---
>  drivers/soc/qcom/ubwc_config.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/drivers/soc/qcom/ubwc_config.c b/drivers/soc/qcom/ubwc_config.c
> index bd0a98aad9f3b222abcf0a7af85a318caffa9841..df074520a8cae1a202a14ca094903bb1e7389066 100644
> --- a/drivers/soc/qcom/ubwc_config.c
> +++ b/drivers/soc/qcom/ubwc_config.c
> @@ -12,6 +12,10 @@
>  
>  #include <linux/soc/qcom/ubwc.h>
>  
> +static const struct qcom_ubwc_cfg_data no_ubwc_data = {
> +	/* no UBWC, no HBB */
> +};
> +
>  static const struct qcom_ubwc_cfg_data msm8937_data = {
>  	.ubwc_enc_version = UBWC_1_0,
>  	.ubwc_dec_version = UBWC_1_0,
> @@ -215,11 +219,17 @@ static const struct qcom_ubwc_cfg_data x1e80100_data = {
>  };
>  
>  static const struct of_device_id qcom_ubwc_configs[] __maybe_unused = {
> +	{ .compatible = "qcom,apq8016", .data = &no_ubwc_data },

Isn't also qcom,apq8026 missing here? Not sure there's any more
missing...

Regards
Luca

> +	{ .compatible = "qcom,apq8074", .data = &no_ubwc_data },
>  	{ .compatible = "qcom,apq8096", .data = &msm8998_data },
> +	{ .compatible = "qcom,msm8226", .data = &no_ubwc_data },
> +	{ .compatible = "qcom,msm8916", .data = &no_ubwc_data },
>  	{ .compatible = "qcom,msm8917", .data = &msm8937_data },
>  	{ .compatible = "qcom,msm8937", .data = &msm8937_data },
> +	{ .compatible = "qcom,msm8939", .data = &no_ubwc_data },
>  	{ .compatible = "qcom,msm8953", .data = &msm8937_data },
>  	{ .compatible = "qcom,msm8956", .data = &msm8937_data },
> +	{ .compatible = "qcom,msm8974", .data = &no_ubwc_data },
>  	{ .compatible = "qcom,msm8976", .data = &msm8937_data },
>  	{ .compatible = "qcom,msm8996", .data = &msm8998_data },
>  	{ .compatible = "qcom,msm8998", .data = &msm8998_data },
>
> ---
> base-commit: 8290d37ad2b087bbcfe65fa5bcaf260e184b250a
> change-id: 20250706-ubwc-no-ubwc-3c5919273e03
>
> Best regards,
Re: [PATCH] soc: qcom: ubwc: provide no-UBWC configuration
Posted by Dmitry Baryshkov 2 months, 2 weeks ago
On Wed, Jul 23, 2025 at 02:54:04PM +0200, Luca Weiss wrote:
> On Sun Jul 6, 2025 at 1:01 PM CEST, Dmitry Baryshkov wrote:
> > After the commit 45a2974157d2 ("drm/msm: Use the central UBWC config
> > database") the MDSS driver errors out if UBWC database didn't provide it
> > with the UBWC configuration. Make UBWC database return zero data for
> > MSM8916 / APQ8016, MSM8974 / APQ8074, MSM8226 and MSM8939.
> >
> > Fixes: 1924272b9ce1 ("soc: qcom: Add UBWC config provider")
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> > ---
> > Note: the driver is a part of drivers/soc, but as it got merged through
> > drm/msm tree, this fix should also go through the drm/msm tree.
> > ---
> >  drivers/soc/qcom/ubwc_config.c | 10 ++++++++++
> >  1 file changed, 10 insertions(+)
> >
> > diff --git a/drivers/soc/qcom/ubwc_config.c b/drivers/soc/qcom/ubwc_config.c
> > index bd0a98aad9f3b222abcf0a7af85a318caffa9841..df074520a8cae1a202a14ca094903bb1e7389066 100644
> > --- a/drivers/soc/qcom/ubwc_config.c
> > +++ b/drivers/soc/qcom/ubwc_config.c
> > @@ -12,6 +12,10 @@
> >  
> >  #include <linux/soc/qcom/ubwc.h>
> >  
> > +static const struct qcom_ubwc_cfg_data no_ubwc_data = {
> > +	/* no UBWC, no HBB */
> > +};
> > +
> >  static const struct qcom_ubwc_cfg_data msm8937_data = {
> >  	.ubwc_enc_version = UBWC_1_0,
> >  	.ubwc_dec_version = UBWC_1_0,
> > @@ -215,11 +219,17 @@ static const struct qcom_ubwc_cfg_data x1e80100_data = {
> >  };
> >  
> >  static const struct of_device_id qcom_ubwc_configs[] __maybe_unused = {
> > +	{ .compatible = "qcom,apq8016", .data = &no_ubwc_data },
> 
> Isn't also qcom,apq8026 missing here? Not sure there's any more
> missing...

Yes...

> 
> Regards
> Luca
> 
> > +	{ .compatible = "qcom,apq8074", .data = &no_ubwc_data },
> >  	{ .compatible = "qcom,apq8096", .data = &msm8998_data },
> > +	{ .compatible = "qcom,msm8226", .data = &no_ubwc_data },
> > +	{ .compatible = "qcom,msm8916", .data = &no_ubwc_data },
> >  	{ .compatible = "qcom,msm8917", .data = &msm8937_data },
> >  	{ .compatible = "qcom,msm8937", .data = &msm8937_data },
> > +	{ .compatible = "qcom,msm8939", .data = &no_ubwc_data },
> >  	{ .compatible = "qcom,msm8953", .data = &msm8937_data },
> >  	{ .compatible = "qcom,msm8956", .data = &msm8937_data },
> > +	{ .compatible = "qcom,msm8974", .data = &no_ubwc_data },
> >  	{ .compatible = "qcom,msm8976", .data = &msm8937_data },
> >  	{ .compatible = "qcom,msm8996", .data = &msm8998_data },
> >  	{ .compatible = "qcom,msm8998", .data = &msm8998_data },
> >
> > ---
> > base-commit: 8290d37ad2b087bbcfe65fa5bcaf260e184b250a
> > change-id: 20250706-ubwc-no-ubwc-3c5919273e03
> >
> > Best regards,
> 

-- 
With best wishes
Dmitry
Re: [PATCH] soc: qcom: ubwc: provide no-UBWC configuration
Posted by Bjorn Andersson 2 months, 3 weeks ago
On Sun, Jul 06, 2025 at 02:01:03PM +0300, Dmitry Baryshkov wrote:
> After the commit 45a2974157d2 ("drm/msm: Use the central UBWC config
> database") the MDSS driver errors out if UBWC database didn't provide it
> with the UBWC configuration. Make UBWC database return zero data for
> MSM8916 / APQ8016, MSM8974 / APQ8074, MSM8226 and MSM8939.
> 
> Fixes: 1924272b9ce1 ("soc: qcom: Add UBWC config provider")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>

Acked-by: Bjorn Andersson <andersson@kernel.org>

> ---
> Note: the driver is a part of drivers/soc, but as it got merged through
> drm/msm tree, this fix should also go through the drm/msm tree.
> ---
>  drivers/soc/qcom/ubwc_config.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/soc/qcom/ubwc_config.c b/drivers/soc/qcom/ubwc_config.c
> index bd0a98aad9f3b222abcf0a7af85a318caffa9841..df074520a8cae1a202a14ca094903bb1e7389066 100644
> --- a/drivers/soc/qcom/ubwc_config.c
> +++ b/drivers/soc/qcom/ubwc_config.c
> @@ -12,6 +12,10 @@
>  
>  #include <linux/soc/qcom/ubwc.h>
>  
> +static const struct qcom_ubwc_cfg_data no_ubwc_data = {
> +	/* no UBWC, no HBB */
> +};
> +
>  static const struct qcom_ubwc_cfg_data msm8937_data = {
>  	.ubwc_enc_version = UBWC_1_0,
>  	.ubwc_dec_version = UBWC_1_0,
> @@ -215,11 +219,17 @@ static const struct qcom_ubwc_cfg_data x1e80100_data = {
>  };
>  
>  static const struct of_device_id qcom_ubwc_configs[] __maybe_unused = {
> +	{ .compatible = "qcom,apq8016", .data = &no_ubwc_data },
> +	{ .compatible = "qcom,apq8074", .data = &no_ubwc_data },
>  	{ .compatible = "qcom,apq8096", .data = &msm8998_data },
> +	{ .compatible = "qcom,msm8226", .data = &no_ubwc_data },
> +	{ .compatible = "qcom,msm8916", .data = &no_ubwc_data },
>  	{ .compatible = "qcom,msm8917", .data = &msm8937_data },
>  	{ .compatible = "qcom,msm8937", .data = &msm8937_data },
> +	{ .compatible = "qcom,msm8939", .data = &no_ubwc_data },
>  	{ .compatible = "qcom,msm8953", .data = &msm8937_data },
>  	{ .compatible = "qcom,msm8956", .data = &msm8937_data },
> +	{ .compatible = "qcom,msm8974", .data = &no_ubwc_data },
>  	{ .compatible = "qcom,msm8976", .data = &msm8937_data },
>  	{ .compatible = "qcom,msm8996", .data = &msm8998_data },
>  	{ .compatible = "qcom,msm8998", .data = &msm8998_data },
> 
> ---
> base-commit: 8290d37ad2b087bbcfe65fa5bcaf260e184b250a
> change-id: 20250706-ubwc-no-ubwc-3c5919273e03
> 
> Best regards,
> -- 
> With best wishes
> Dmitry
>
Re: [PATCH] soc: qcom: ubwc: provide no-UBWC configuration
Posted by Konrad Dybcio 3 months ago
On 7/6/25 1:01 PM, Dmitry Baryshkov wrote:
> After the commit 45a2974157d2 ("drm/msm: Use the central UBWC config
> database") the MDSS driver errors out if UBWC database didn't provide it
> with the UBWC configuration. Make UBWC database return zero data for
> MSM8916 / APQ8016, MSM8974 / APQ8074, MSM8226 and MSM8939.
> 
> Fixes: 1924272b9ce1 ("soc: qcom: Add UBWC config provider")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad
Re: [PATCH] soc: qcom: ubwc: provide no-UBWC configuration
Posted by Robin Clark 3 months ago
On Sun, Jul 6, 2025 at 4:01 AM Dmitry Baryshkov
<dmitry.baryshkov@oss.qualcomm.com> wrote:
>
> After the commit 45a2974157d2 ("drm/msm: Use the central UBWC config
> database") the MDSS driver errors out if UBWC database didn't provide it
> with the UBWC configuration. Make UBWC database return zero data for
> MSM8916 / APQ8016, MSM8974 / APQ8074, MSM8226 and MSM8939.
>
> Fixes: 1924272b9ce1 ("soc: qcom: Add UBWC config provider")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> Note: the driver is a part of drivers/soc, but as it got merged through
> drm/msm tree, this fix should also go through the drm/msm tree.

Reviewed-by: Rob Clark <robin.clark@oss.qualcomm.com>

> ---
>  drivers/soc/qcom/ubwc_config.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/drivers/soc/qcom/ubwc_config.c b/drivers/soc/qcom/ubwc_config.c
> index bd0a98aad9f3b222abcf0a7af85a318caffa9841..df074520a8cae1a202a14ca094903bb1e7389066 100644
> --- a/drivers/soc/qcom/ubwc_config.c
> +++ b/drivers/soc/qcom/ubwc_config.c
> @@ -12,6 +12,10 @@
>
>  #include <linux/soc/qcom/ubwc.h>
>
> +static const struct qcom_ubwc_cfg_data no_ubwc_data = {
> +       /* no UBWC, no HBB */
> +};
> +
>  static const struct qcom_ubwc_cfg_data msm8937_data = {
>         .ubwc_enc_version = UBWC_1_0,
>         .ubwc_dec_version = UBWC_1_0,
> @@ -215,11 +219,17 @@ static const struct qcom_ubwc_cfg_data x1e80100_data = {
>  };
>
>  static const struct of_device_id qcom_ubwc_configs[] __maybe_unused = {
> +       { .compatible = "qcom,apq8016", .data = &no_ubwc_data },
> +       { .compatible = "qcom,apq8074", .data = &no_ubwc_data },
>         { .compatible = "qcom,apq8096", .data = &msm8998_data },
> +       { .compatible = "qcom,msm8226", .data = &no_ubwc_data },
> +       { .compatible = "qcom,msm8916", .data = &no_ubwc_data },
>         { .compatible = "qcom,msm8917", .data = &msm8937_data },
>         { .compatible = "qcom,msm8937", .data = &msm8937_data },
> +       { .compatible = "qcom,msm8939", .data = &no_ubwc_data },
>         { .compatible = "qcom,msm8953", .data = &msm8937_data },
>         { .compatible = "qcom,msm8956", .data = &msm8937_data },
> +       { .compatible = "qcom,msm8974", .data = &no_ubwc_data },
>         { .compatible = "qcom,msm8976", .data = &msm8937_data },
>         { .compatible = "qcom,msm8996", .data = &msm8998_data },
>         { .compatible = "qcom,msm8998", .data = &msm8998_data },
>
> ---
> base-commit: 8290d37ad2b087bbcfe65fa5bcaf260e184b250a
> change-id: 20250706-ubwc-no-ubwc-3c5919273e03
>
> Best regards,
> --
> With best wishes
> Dmitry
>