Thread (20 messages) 20 messages, 3 authors, 2023-06-27

Re: [PATCH v3 3/6] media: dt-bindings: mediatek,vcodec: Remove VDEC_SYS for mt8183

From: Krzysztof Kozlowski <hidden>
Date: 2023-06-26 15:30:20
Also in: linux-devicetree, linux-media, lkml

On 26/06/2023 15:54, Nícolas F. R. A. Prado wrote:
On Fri, Jun 23, 2023 at 06:21:31PM +0200, Krzysztof Kozlowski wrote:
quoted
On 21/06/2023 20:00, Nícolas F. R. A. Prado wrote:
quoted
quoted
But anyway this variant comes with some set of regs and reg-names. Other
variant comes with different set. In all cases they should be defined,
even by "defined" means not allowed.
I'm not sure what you mean. Are you suggesting to disable reg-names on mt8173?
That's one of the options if for some reason you don't want to define them.
quoted
quoted
quoted
But in a separate series we could drop vdecsys from mt8173's reg as well,
passing it as a syscon instead, which would solve the warning on that platform,
though some more driver changes would be needed to be able to handle it for that
SoC. The newer SoCs like mt8192, mt8195, etc, should also get vdecsys dropped
from their regs to have a correct memory description.
Sure, but I don't understand how does it affect defining and making
specific regs/reg-names or keeping them loose.
We need some way to tell in the driver whether the first reg is VDEC_SYS or not.
Since so far reg-names have not been used for the vcodec, the simplest, and
cleanest, way to do it, is to add reg-names when VDEC_SYS is not present. When
the other SoCs are updated to no longer have the first reg as VDEC_SYS, they
would also have reg-names added to their binding, to clearly indicate that.
Don't use reg-names for that. The order of entries is anyway strict.
Since the order of entries is strict, if I remove VDEC_SYS from mt8183, I also
need to remove it from mt8173, is that what you mean?
It's different compatible, so it can have different entries.

I would still check for
the presence of reg-names in the driver to differentiate whether the old or new
binding is used, you just don't want different reg-names between compatibles in
the binding?
I wrote already what I want:

  In all cases they should be defined, even by "defined" means not allowed.

Now of course the best would be if the reg-names are always the same, at
least in respect of order of items. This is what we try to do for all
devices.
quoted
quoted
For example, for mt8173 we currently have

		vcodec_dec: vcodec@16000000 {
			compatible = "mediatek,mt8173-vcodec-dec";
			reg = <0 0x16000000 0 0x100>,	/* VDEC_SYS */
			      <0 0x16020000 0 0x1000>,	/* VDEC_MISC */
			      <0 0x16021000 0 0x800>,	/* VDEC_LD */
			      <0 0x16021800 0 0x800>,	/* VDEC_TOP */
			      <0 0x16022000 0 0x1000>,	/* VDEC_CM */
			      <0 0x16023000 0 0x1000>,	/* VDEC_AD */
			      <0 0x16024000 0 0x1000>,	/* VDEC_AV */
			      <0 0x16025000 0 0x1000>,	/* VDEC_PP */
			      <0 0x16026800 0 0x800>,	/* VDEC_HWD */
			      <0 0x16027000 0 0x800>,	/* VDEC_HWQ */
			      <0 0x16027800 0 0x800>,	/* VDEC_HWB */
			      <0 0x16028400 0 0x400>;	/* VDEC_HWG */

In a future series, when removing VDEC_SYS from it, it would become

		vcodec_dec: vcodec@16020000 {
			compatible = "mediatek,mt8173-vcodec-dec";
			reg = <0 0x16020000 0 0x1000>,	/* VDEC_MISC */
			      <0 0x16021000 0 0x800>,	/* VDEC_LD */
			      <0 0x16021800 0 0x800>,	/* VDEC_TOP */
			      <0 0x16022000 0 0x1000>,	/* VDEC_CM */
			      <0 0x16023000 0 0x1000>,	/* VDEC_AD */
			      <0 0x16024000 0 0x1000>,	/* VDEC_AV */
			      <0 0x16025000 0 0x1000>,	/* VDEC_PP */
			      <0 0x16026800 0 0x800>,	/* VDEC_HWD */
			      <0 0x16027000 0 0x800>,	/* VDEC_HWQ */
			      <0 0x16027800 0 0x800>,	/* VDEC_HWB */
			      <0 0x16028400 0 0x400>;	/* VDEC_HWG */
			reg-names = "misc", "ld", "top", "cm", "ad", "av", "pp",
                                    "hwd", "hwq", "hwb", "hwg";
So you want to use reg-names to avoid ABI break. This is not the reason
not to define reg-names for other case.
There will be an ABI break anyway when the first reg is removed (as shown
above), I'm just trying to avoid churn: adding a reg-name that will be removed
later.
So remove the reg-name now and there will be no "later"?

Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help