drivers/soc/qcom/ubwc_config.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
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
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,
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
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
>
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
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
>
© 2016 - 2026 Red Hat, Inc.