mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Serge Semin <fancer.lancer@gmail.com>
Cc: Serge Semin <Sergey.Semin@baikalelectronics.ru>,
	Rob Herring <robh@kernel.org>,
	Michal Simek <michal.simek@xilinx.com>,
	Borislav Petkov <bp@alien8.de>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Tony Luck <tony.luck@intel.com>, Rob Herring <robh+dt@kernel.org>,
	Manish Narani <manish.narani@xilinx.com>,
	Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,
	Michail Ivanov <Michail.Ivanov@baikalelectronics.ru>,
	Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>,
	Punnaiah Choudary Kalluri  <punnaiah.choudary.kalluri@xilinx.com>,
	Dinh Nguyen <dinguyen@kernel.org>,
	James Morse <james.morse@arm.com>,
	Robert Richter <rric@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 16/20] dt-bindings: memory: snps: Detach Zynq DDRC controller support
Date: Tue, 23 Aug 2022 15:03:51 +0300	[thread overview]
Message-ID: <6661dcc1-cc93-efbb-b248-0d93f681a1bf@linaro.org> (raw)
In-Reply-To: <20220823114516.4mcufkbmzy5gjdcr@mobilestation>

On 23/08/2022 14:45, Serge Semin wrote:
> On Tue, Aug 23, 2022 at 11:44:16AM +0300, Krzysztof Kozlowski wrote:
>> On 23/08/2022 11:32, Serge Semin wrote:
>>> On Tue, Aug 23, 2022 at 11:17:23AM +0300, Krzysztof Kozlowski wrote:
>>>> On 22/08/2022 22:07, Serge Semin wrote:
>>>>> The Zynq A05 DDRC controller has nothing in common with DW uMCTL2 DDRC:
>>>>> the CSRs layout is absolutely different and it doesn't has IRQ unlike DW
>>>>> uMCTL2 DDR controller of all versions (v1.x, v2.x and v3.x). Thus there is
>>>>> no any reason to have these controllers described by the same bindings.
>>>>> Thus let's split them up.
>>>>>
>>>>> While at it rename the original Synopsys uMCTL2 DT-schema file to a more
>>>>> descriptive - snps,dw-umctl2-ddrc.yaml and add a more detailed title and
>>>>> description of the device bindings.
>>>>
>>>
> 
>>>> Filename should be based on compatible, so if renaming then
>>>> snps,ddrc-3.80a.yaml or snps,ddrc.yaml... which leads to original
>>>> filename anyway. Therefore nack for rename.
> 
> Original name was synopsys,ddrc-ecc.yaml which doesn't match any of
> the compatible strings. 
> 
>>>
>>> New requirement? I've submitted not a single patch to the DT-bindings
>>> sources and didn't get any comment from Rob about that. 
>>
> 
>> This is not a new requirement. It has been since some time and Rob gave
>> such reviews.
>>
>> https://lore.kernel.org/linux-devicetree/YlhkwvGdcf4ozTzG@robh.at.kernel.org/
> 
> April 2022. So it's new. It would be nice to have it defined somewhere
> in docs (writing-bindings.rst?). So does the compatibles order (this
> was surprising to me too).
> 
>>
>> For devices with multiple compatibles that's a bit tricky, but assuming
>> the bindings describe both original design from Synopsys and it's
>> implementations, then something closer to Synopsys makes sense.
> 
> The closest name would be snps,dw-umctl2-ddrc.yaml. snps,ddrc is too
> generic especially for the IP-cores vendor. It doesn't have a
> reference to the actual IP-core the device in subject is based on.

You are aware that in such case mistake is not in the file name but in
the compatible?

> 
>>
>>
>>> In addition
>>> There are DT bindings with names different from what is defined in the
>>> compatible name. Moreover there are tons of bindings with various
>>> compatible names. What name to choose then? Finally the current name
>>> is too generic to use for actual DW uMCTL2 DDRC controller.
>>
> 
>> There are thousands of bugs, inconsistencies, naming differences in
>> kernel. I don't find these as arguments to repeat the practice...so the
>> bindings file name should be based on the compatible.
> 
> Did I ask for an exception? I justified why the renaming was necessary. You
> said it goes against the practice of having the DT-schema named as the
> device compatible strings and just nacked. But above in this message you said
> 
>> "assuming the bindings describe both original design from Synopsys
>> and it's implementations, then something closer to Synopsys makes sense"
> 
> What I suggest makes more sense than some abstract Synopsys DDRC,
> which may refer to a Synopsys DDR controller other than the subject
> one. So I see two solutions here:
> 1. Adding a new generic compatible string like "snps,dw-umctl2-ddrc"
> and deprecate the "snps,ddrc-3.80a". 

This might be good idea, although unfortunately replacing compatibles
takes quite a lot of time if you do not want to break any out-of-tree
users (read: other users of bindings).


> It gets to be even more justified
> seeing the Synopsys IP-core version has been exported in the device
> CSRs since IP-core v3.20a. So having the version attached to the
> compatible string was absolutely redundant.

The version might have sense in a way to differentiate from some older
versions, pre 3.20a. The binding was probably incomplete anyway.


> 2. Just deprecate the generic compatible string, the new compatible
> devices will be supposed to use a vendor-specific compatible strings,
> but still rename the DT-bindings file. This makes sense since the
> current generic name isn't quiet well structured. It' prefix-part is
> too generic and at the same time it refers to a device reversion for
> no much reason.

You mean disallow entirely "snps,ddrc-3.80a" and expect everyone to use
device/implementation specific compatible? I guess this depends whether
this custom block can be used without vendor specific addons. For
several other DW blocks we expect to have the generic snsp fallback and
this generic fallback can be used alone in Linux (pcie-designware-plat.c
binds to it).

Here the Linux driver also binds to generic synopsys compatible, so I
would assume it has a meaning and use case on its own.

> 
> What do you think?
> 
> * Note I've got it you'd prefer the renaming being performed in a
> separate patch.

The rename could be in the split patch as here, but then I assume the
rename part to be detected by git and be a pure rename. However:
1. The git did not mark it as rename (you might need to use custom
arguments to -M/-B/-C),
2. There were also changes in the process (allOf:if:then).


Best regards,
Krzysztof

  reply	other threads:[~2022-08-23 14:43 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-22 19:07 [PATCH 00/20] EDAC/mc/synopsys: Various fixes and cleanups Serge Semin
2022-08-22 19:07 ` [PATCH 01/20] EDAC/synopsys: Fix native uMCTL2 IRQs handling procedure Serge Semin
2022-08-22 19:07 ` [PATCH 02/20] EDAC/synopsys: Fix generic device type detection procedure Serge Semin
2022-08-22 19:07 ` [PATCH 03/20] EDAC/synopsys: Fix mci->scrub_cap field setting Serge Semin
2022-08-22 19:07 ` [PATCH 04/20] EDAC/synopsys: Drop erroneous ADDRMAP4.addrmap_col_b10 parse Serge Semin
2022-08-22 19:07 ` [PATCH 05/20] EDAC/synopsys: Fix reading errors count before ECC status Serge Semin
2022-08-22 19:07 ` [PATCH 06/20] EDAC/synopsys: Use platform device devm ioremap method Serge Semin
2022-08-22 19:07 ` [PATCH 07/20] EDAC/synopsys: Drop internal CE and UE counters Serge Semin
2022-08-22 19:07 ` [PATCH 08/20] EDAC/synopsys: Drop local to_mci macro implementation Serge Semin
2022-08-22 19:07 ` [PATCH 09/20] EDAC/synopsys: Drop struct ecc_error_info.blknr field Serge Semin
2022-08-22 19:07 ` [PATCH 10/20] EDAC/synopsys: Shorten out struct ecc_error_info.bankgrpnr field name Serge Semin
2022-08-22 19:07 ` [PATCH 11/20] EDAC/synopsys: Drop redundant info from error message Serge Semin
2022-08-22 19:07 ` [PATCH 12/20] EDAC/mc: Replace spaces with tabs in memtype flags definition Serge Semin
2022-09-01  6:59   ` Borislav Petkov
2022-08-22 19:07 ` [PATCH 13/20] EDAC/mc: Drop duplicated dimm->nr_pages debug printout Serge Semin
2022-09-01  7:00   ` Borislav Petkov
2022-08-22 19:07 ` [PATCH 14/20] EDAC/mc: Init DIMM labels in MC registration method Serge Semin
2022-08-22 19:07 ` [PATCH 15/20] EDAC/mc: Add MC unique index allocation procedure Serge Semin
2022-08-22 19:07 ` [PATCH 16/20] dt-bindings: memory: snps: Detach Zynq DDRC controller support Serge Semin
2022-08-23  8:17   ` Krzysztof Kozlowski
2022-08-23  8:22     ` Krzysztof Kozlowski
2022-08-23  8:27       ` Serge Semin
2022-08-23  8:30         ` Krzysztof Kozlowski
2022-08-23  8:36           ` Serge Semin
2022-08-23  8:25     ` Serge Semin
2022-08-23  8:32     ` Serge Semin
2022-08-23  8:44       ` Krzysztof Kozlowski
2022-08-23 11:45         ` Serge Semin
2022-08-23 12:03           ` Krzysztof Kozlowski [this message]
2022-08-24 17:27             ` Serge Semin
2022-08-25  6:06               ` Krzysztof Kozlowski
2022-08-25 13:23                 ` Serge Semin
2022-08-23  8:26   ` Krzysztof Kozlowski
2022-08-22 19:07 ` [PATCH 17/20] EDAC/synopsys: " Serge Semin
2022-08-22 19:07 ` [PATCH 18/20] EDAC/synopsys: Drop unused platform-specific setup API Serge Semin
2022-08-23 23:42   ` kernel test robot
2022-08-22 19:07 ` [PATCH 19/20] EDAC/synopsys: Unify the driver entities naming Serge Semin
2022-08-24  1:15   ` kernel test robot
2022-08-22 19:07 ` [PATCH 20/20] EDAC/synopsys: Convert to using BIT/GENMASK/FIELD_x macros Serge Semin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6661dcc1-cc93-efbb-b248-0d93f681a1bf@linaro.org \
    --to=krzysztof.kozlowski@linaro.org \
    --cc=Alexey.Malahov@baikalelectronics.ru \
    --cc=Michail.Ivanov@baikalelectronics.ru \
    --cc=Pavel.Parkhomenko@baikalelectronics.ru \
    --cc=Sergey.Semin@baikalelectronics.ru \
    --cc=bp@alien8.de \
    --cc=devicetree@vger.kernel.org \
    --cc=dinguyen@kernel.org \
    --cc=fancer.lancer@gmail.com \
    --cc=james.morse@arm.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-edac@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=manish.narani@xilinx.com \
    --cc=mchehab@kernel.org \
    --cc=michal.simek@xilinx.com \
    --cc=punnaiah.choudary.kalluri@xilinx.com \
    --cc=robh+dt@kernel.org \
    --cc=robh@kernel.org \
    --cc=rric@kernel.org \
    --cc=tony.luck@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®