Re: [PATCH v14 1/2] drm: add kms driver for loongson display controller

From: Sui Jingfeng
Date: Thu May 25 2023 - 00:16:40 EST

On 2023/5/25 12:09, Sui Jingfeng wrote:

On 2023/5/23 00:40, WANG Xuerui wrote:
On 5/22/23 21:13, Sui Jingfeng wrote:

On 2023/5/22 18:25, WANG Xuerui wrote:
On 2023/5/22 18:17, Sui Jingfeng wrote:

On 2023/5/22 18:05, WANG Xuerui wrote:
On 2023/5/22 17:49, Sui Jingfeng wrote:

On 2023/5/22 17:28, WANG Xuerui wrote:
On 2023/5/22 17:25, Sui Jingfeng wrote:

On 2023/5/21 20:21, WANG Xuerui wrote:
+ * LS3A4000/LS3A5000/LS3A6000 CPU, they are equipped with on-board video RAM
+ * typically. While LS2K0500/LS2K1000/LS2K2000 are low cost SoCs which share
+ * the system RAM as video RAM, they don't has a dediacated VRAM.

CPU models are not typically prefixed with "LS", so "Loongson 3A4000/3A5000/3A6000".

Here is because when you do programming, variable name should prefix with letters.

Commit messages, comments, and log messages etc. are natural language, so it's better to treat them differently. No problem to keep code as-is IMO.

Then you get two name for a single chip,  take LS7A1000 as an example.

You name it as Loongson 7A1000 in commit message,  and then you have to define another name in the code,  say LS7A1000.

"Loongson 7A1000" is too long,  not as compact as LS7A1000.

This also avoid bind the company name to a specific product, because a company can produce many product.

Nah, the existing convention is "LS7Xxxxx" for bridges and "Loongson 3Axxxx" for CPUs (SoCs like 2K fall under this category too). It's better to stick with existing practice so it would be familiar to long-time Loongson/LoongArch developers, but I personally don't think it will hamper understanding if you feel like doing otherwise.

Can you explain why it is better?

is it that the already existing is better ?

It's not about subjective perception of "better" or "worse", but about tree-wide consistency, and about reducing any potential confusion from newcomers. I remember Huacai once pointing out that outsiders usually have a hard time remembering "1, 2, and 3 are CPUs, some 2 are SoCs, 7 are bridge chips", and consistently referring to the bridge chips throughout the tree as "LS7A" helped.

In any case, for the sake of consistency, you can definitely refer to the CPU models in natural language like "LS3Axxxx"; just make sure to refactor for example every occurrence in arch/loongarch and other parts of drivers/. That's a lot of churn, though, so I don't expect such changes to get accepted, and that's why the tree-wide consistency should be favored over the local one.

There are document[1] which named LS7A1000 bridge chip as Loongson 7A1000 Bridge,

which is opposed to what you have said "the existing convention is LS7Xxxxx for bridges".

there are also plenty projects[2] which encode ls2k1000 as project name, which simply

don't fall into the category as you have mentioned("Loongson 3Axxxx").

See [1][2] for reference, how to explain this phenomenon then?

Turn down the flames a little bit, okay? ;-)

There is no flames, its just that it need sufficient discussion when started to contribute to community.

We want more rigorous toward to our patch.

We can't adopt irresponsible ideas, especially from someone who is reluctant to give a

reasonable rationale and refused to discussion.

Such changes could probably made a damage to Loongson company.

As it tend to introduce self-contradictory between the code and comment.

Especially when we introduce DT support, there is no write space in the middle the string is allowed.

'write' -> 'white'

and encode model information to the compatible string is an common practice.

While at it, I will take it into another consideration if there are more professional person who

is supporting your ideas and could take the responsibility for it.

Beside this, other reviews are still acceptable, thanks for the reasonable part.