lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <eea14133-2152-37bb-e2ff-fcc7ed4c47f5@quicinc.com>
Date: Fri, 25 Oct 2024 12:33:41 +0530
From: Dikshita Agarwal <quic_dikshita@...cinc.com>
To: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
CC: Jianhua Lu <lujianhua000@...il.com>,
        Vikash Garodia
	<quic_vgarodia@...cinc.com>,
        Abhinav Kumar <quic_abhinavk@...cinc.com>,
        "Mauro Carvalho Chehab" <mchehab@...nel.org>,
        Rob Herring <robh@...nel.org>,
        Krzysztof Kozlowski <krzk+dt@...nel.org>,
        Conor Dooley <conor+dt@...nel.org>,
        Philipp Zabel <p.zabel@...gutronix.de>,
        Hans Verkuil <hverkuil@...all.nl>,
        Sebastian Fricke <sebastian.fricke@...labora.com>,
        <linux-arm-msm@...r.kernel.org>, <linux-media@...r.kernel.org>,
        <devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v4 27/28] media: iris: enable video driver probe of SM8250
 SoC

Hi Dmitry,

On 10/15/2024 5:56 PM, Dmitry Baryshkov wrote:
> On Tue, 15 Oct 2024 at 12:22, Dikshita Agarwal
> <quic_dikshita@...cinc.com> wrote:
>>
>>
>>
>> On 10/14/2024 7:38 PM, Dmitry Baryshkov wrote:
>>> On Mon, Oct 14, 2024 at 10:00:21PM +0800, Jianhua Lu wrote:
>>>> On Mon, Oct 14, 2024 at 02:37:48PM +0530, Dikshita Agarwal wrote:
>>>>> Initialize the platform data and enable video driver
>>>>> probe of SM8250 SoC.
>>>>>
>>>>> Signed-off-by: Dikshita Agarwal <quic_dikshita@...cinc.com>
>>>>> ---
>>>> [..]
>>>>> diff --git a/drivers/media/platform/qcom/iris/iris_probe.c b/drivers/media/platform/qcom/iris/iris_probe.c
>>>>> index 86ef2e5c488e..a2aadd48926f 100644
>>>>> --- a/drivers/media/platform/qcom/iris/iris_probe.c
>>>>> +++ b/drivers/media/platform/qcom/iris/iris_probe.c
>>>>> @@ -325,6 +325,10 @@ static const struct of_device_id iris_dt_match[] = {
>>>>>             .compatible = "qcom,sm8550-iris",
>>>>>             .data = &sm8550_data,
>>>>>     },
>>>>> +   {
>>>>> +           .compatible = "qcom,sm8250-venus",
>>>>> +           .data = &sm8250_data,
>>>>> +   },
>>>>>     { },
>>>>>  };
>>>>>  MODULE_DEVICE_TABLE(of, iris_dt_match);
>>>>
>>>> qcom-venus driver has already supported sm8250 soc, I think you should add
>>>> an extra patch to drop sm8250 releated code from qcom-venus driver if you
>>>> tend to add support for sm8250 in qcom-iris driver.
>>>
>>> Iris driver did not feature parity with the venus driver, so it is
>>> expected that two drivers will exist side by side for some time.
>>> Nevertheless ideally we should have a way to specify which driver should
>>> be used for sm8250 (and other platforms being migrated).
>>>
>> Agree, we should have a way to specify this. Any suggestions to achieve
>> this are welcomed.
> 
> See how this is handled for the drm/msm/mdp5 vs dpu drivers.
> 

We are also thinking to handle this as combination of compatible + module
param similar to display driver, like below:

static bool prefer_venus = true;
MODULE_PARM_DESC(prefer_venus, "Select whether venus or iris driver should
be preferred");
module_param(prefer_venus, bool, 0444);

/* list all platforms supported by only iris driver */
static const char *const iris_only_platforms[] = {
	"qcom,sm8550-iris",
	NULL,
};

/* list all platforms supported by both venus and iris drivers */
static const char *const venus_to_iris_migration[] = {
	"qcom,sm8250-venus",
	NULL,
};

static bool video_drv_should_bind(struct device *dev, bool iris_driver)
{
	if (of_device_compatible_match(dev->of_node, iris_only_platforms))
		return iris_driver;

	/* If it is not in the migration list, use venus */
	if (!of_device_compatible_match(dev->of_node, venus_to_iris_migration))
		return !iris_driver;

	return prefer_venus ? !iris_driver : iris_driver;
}

And invoke "video_drv_should_bind" API in iris driver probe.
Please see if this approach looks good to you.

Thanks,
Dikshita

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ