All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sui Jingfeng <15330273260@189.cn>
To: Rob Herring <robh@kernel.org>
Cc: Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Roland Scheidegger <sroland@vmware.com>,
	Zack Rusin <zackr@vmware.com>,
	Christian Gmeiner <christian.gmeiner@gmail.com>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Dan Carpenter <dan.carpenter@oracle.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	"David S . Miller" <davem@davemloft.net>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	Lucas Stach <l.stach@pengutronix.de>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Ilia Mirkin <imirkin@alum.mit.edu>,
	Qing Zhang <zhangqing@loongson.cn>,
	suijingfeng <suijingfeng@loongson.cn>,
	linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org,
	kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v11 7/7] drm/lsdc: add drm driver for loongson display controller
Date: Thu, 24 Mar 2022 12:05:55 +0800	[thread overview]
Message-ID: <6a0d6acd-f778-f3ec-a97a-7c7932579e96@189.cn> (raw)
In-Reply-To: <YjsclWsqGX3JrknM@robh.at.kernel.org>


On 2022/3/23 21:11, Rob Herring wrote:
> On Wed, Mar 23, 2022 at 12:12:43PM +0800, Sui Jingfeng wrote:
>> On 2022/3/23 04:49, Rob Herring wrote:
>>>> +/*
>>>> + * mainly for dc in ls7a1000 which have builtin gpio emulated i2c
>>>> + *
>>>> + * @index : output channel index, 0 for DVO0, 1 for DVO1
>>>> + */
>>>> +struct lsdc_i2c *lsdc_create_i2c_chan(struct device *dev, void *base, unsigned int index)
>>>> +{
>>>> +	char compat[32] = {0};
>>>> +	unsigned int udelay = 5;
>>>> +	unsigned int timeout = 2200;
>>>> +	int nr = -1;
>>>> +	struct i2c_adapter *adapter;
>>>> +	struct lsdc_i2c *li2c;
>>>> +	struct device_node *i2c_np;
>>>> +	int ret;
>>>> +
>>>> +	li2c = devm_kzalloc(dev, sizeof(*li2c), GFP_KERNEL);
>>>> +	if (!li2c)
>>>> +		return ERR_PTR(-ENOMEM);
>>>> +
>>>> +	li2c->index = index;
>>>> +	li2c->dev = dev;
>>>> +
>>>> +	if (index == 0) {
>>>> +		li2c->sda = 0x01;
>>>> +		li2c->scl = 0x02;
>>>> +	} else if (index == 1) {
>>>> +		li2c->sda = 0x04;
>>>> +		li2c->scl = 0x08;
>>> Just require this to be in DT rather than having some default.
>>>
>> By design,  I am try very hard to let the code NOT fully  DT dependent. DT is nice , easy to learn and use.
>> But kernel side developer plan to follow UEFI + ACPI Specification on LS3A5000 + LS7A1000 platform. See [1]
>> There will no DT support then, provide a convention support  make the driver more flexible. I want the
>> driver works with minimal requirement. The driver just works on simple boards by put the following dc device
>> node in arch/mips/dts/loongson/loongson64g_4core_ls7a.dts,
> Pick DT or ACPI for the platform, not both. We don't need to have both
> in the kernel to support.
>
> Rob

Hi Rob,

We can only choose DT currently, we love DT, but it is kernel side developer's choice.
We just avoid deep coupling which tend to lost flexibility.
All I can and should do is make the drivers works, writing code beautiful does not
means it can works like a charm.

 From what i am understanding, DT is not a strict specification, but in return flexible.
Force every driver comply with what already have is tend to prohibit innovation.
It just too late to do so.


WARNING: multiple messages have this Message-ID (diff)
From: Sui Jingfeng <15330273260@189.cn>
To: Rob Herring <robh@kernel.org>
Cc: Qing Zhang <zhangqing@loongson.cn>,
	David Airlie <airlied@linux.ie>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	linux-kernel@vger.kernel.org, Sam Ravnborg <sam@ravnborg.org>,
	kernel test robot <lkp@intel.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Dan Carpenter <dan.carpenter@oracle.com>,
	devicetree@vger.kernel.org, suijingfeng <suijingfeng@loongson.cn>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Roland Scheidegger <sroland@vmware.com>,
	Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>,
	dri-devel@lists.freedesktop.org,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@vger.kernel.org,
	"David S . Miller" <davem@davemloft.net>
Subject: Re: [PATCH v11 7/7] drm/lsdc: add drm driver for loongson display controller
Date: Thu, 24 Mar 2022 12:05:55 +0800	[thread overview]
Message-ID: <6a0d6acd-f778-f3ec-a97a-7c7932579e96@189.cn> (raw)
In-Reply-To: <YjsclWsqGX3JrknM@robh.at.kernel.org>


On 2022/3/23 21:11, Rob Herring wrote:
> On Wed, Mar 23, 2022 at 12:12:43PM +0800, Sui Jingfeng wrote:
>> On 2022/3/23 04:49, Rob Herring wrote:
>>>> +/*
>>>> + * mainly for dc in ls7a1000 which have builtin gpio emulated i2c
>>>> + *
>>>> + * @index : output channel index, 0 for DVO0, 1 for DVO1
>>>> + */
>>>> +struct lsdc_i2c *lsdc_create_i2c_chan(struct device *dev, void *base, unsigned int index)
>>>> +{
>>>> +	char compat[32] = {0};
>>>> +	unsigned int udelay = 5;
>>>> +	unsigned int timeout = 2200;
>>>> +	int nr = -1;
>>>> +	struct i2c_adapter *adapter;
>>>> +	struct lsdc_i2c *li2c;
>>>> +	struct device_node *i2c_np;
>>>> +	int ret;
>>>> +
>>>> +	li2c = devm_kzalloc(dev, sizeof(*li2c), GFP_KERNEL);
>>>> +	if (!li2c)
>>>> +		return ERR_PTR(-ENOMEM);
>>>> +
>>>> +	li2c->index = index;
>>>> +	li2c->dev = dev;
>>>> +
>>>> +	if (index == 0) {
>>>> +		li2c->sda = 0x01;
>>>> +		li2c->scl = 0x02;
>>>> +	} else if (index == 1) {
>>>> +		li2c->sda = 0x04;
>>>> +		li2c->scl = 0x08;
>>> Just require this to be in DT rather than having some default.
>>>
>> By design,  I am try very hard to let the code NOT fully  DT dependent. DT is nice , easy to learn and use.
>> But kernel side developer plan to follow UEFI + ACPI Specification on LS3A5000 + LS7A1000 platform. See [1]
>> There will no DT support then, provide a convention support  make the driver more flexible. I want the
>> driver works with minimal requirement. The driver just works on simple boards by put the following dc device
>> node in arch/mips/dts/loongson/loongson64g_4core_ls7a.dts,
> Pick DT or ACPI for the platform, not both. We don't need to have both
> in the kernel to support.
>
> Rob

Hi Rob,

We can only choose DT currently, we love DT, but it is kernel side developer's choice.
We just avoid deep coupling which tend to lost flexibility.
All I can and should do is make the drivers works, writing code beautiful does not
means it can works like a charm.

 From what i am understanding, DT is not a strict specification, but in return flexible.
Force every driver comply with what already have is tend to prohibit innovation.
It just too late to do so.


  reply	other threads:[~2022-03-24  4:06 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-21 16:29 [PATCH v11 0/7] drm/lsdc: add drm driver for loongson display controller Sui Jingfeng
2022-03-21 16:29 ` Sui Jingfeng
2022-03-21 16:29 ` [PATCH v11 1/7] MIPS: Loongson64: dts: update the display controller device node Sui Jingfeng
2022-03-21 16:29   ` Sui Jingfeng
2022-03-21 16:29 ` [PATCH v11 2/7] MIPS: Loongson64: dts: introduce ls3A4000 evaluation board Sui Jingfeng
2022-03-21 16:29   ` Sui Jingfeng
2022-03-22 13:05   ` Jiaxun Yang
2022-03-22 13:05     ` Jiaxun Yang
2022-03-22 13:38     ` Sui Jingfeng
2022-03-22 13:38       ` Sui Jingfeng
2022-03-22 16:06       ` Jiaxun Yang
2022-03-22 16:06         ` Jiaxun Yang
2022-03-23  1:53         ` Sui Jingfeng
2022-03-23  1:53           ` Sui Jingfeng
2022-03-23  2:29           ` Jiaxun Yang
2022-03-23  2:29             ` Jiaxun Yang
2022-03-23  3:07             ` Sui Jingfeng
2022-03-23  3:07               ` Sui Jingfeng
2022-03-23  3:14               ` Jiaxun Yang
2022-03-23  3:14                 ` Jiaxun Yang
2022-03-23  7:07             ` Sui Jingfeng
2022-03-23  7:07               ` Sui Jingfeng
2022-03-23 12:29               ` Jiaxun Yang
2022-03-23 12:29                 ` Jiaxun Yang
2022-03-23 12:53           ` Rob Herring
2022-03-23 12:53             ` Rob Herring
2022-03-24  1:51             ` Sui Jingfeng
2022-03-24  1:51               ` Sui Jingfeng
2022-03-21 16:29 ` [PATCH v11 3/7] MIPS: Loongson64: dts: introduce lemote A1901 motherboard Sui Jingfeng
2022-03-21 16:29   ` Sui Jingfeng
2022-03-21 16:29 ` [PATCH v11 4/7] MIPS: Loongson64: dts: introduce ls2k1000 pai evaluation board Sui Jingfeng
2022-03-21 16:29   ` Sui Jingfeng
2022-03-21 16:29 ` [PATCH v11 5/7] dt-bindings: display: Add Loongson display controller Sui Jingfeng
2022-03-21 16:29   ` Sui Jingfeng
2022-03-21 23:20   ` Rob Herring
2022-03-21 23:20     ` Rob Herring
2022-03-22  2:33     ` Sui Jingfeng
2022-03-22  2:33       ` Sui Jingfeng
2022-03-22 13:08       ` Jiaxun Yang
2022-03-22 13:08         ` Jiaxun Yang
2022-03-22 13:54         ` Sui Jingfeng
2022-03-22 13:54           ` Sui Jingfeng
2022-03-22 16:08           ` Jiaxun Yang
2022-03-22 16:08             ` Jiaxun Yang
2022-03-22 20:03           ` Rob Herring
2022-03-22 20:03             ` Rob Herring
2022-03-22 20:55       ` Rob Herring
2022-03-22 20:55         ` Rob Herring
2022-03-23  3:38         ` Sui Jingfeng
2022-03-23  3:38           ` Sui Jingfeng
2022-03-23 13:03           ` Rob Herring
2022-03-23 13:03             ` Rob Herring
2022-03-24  1:48             ` Sui Jingfeng
2022-03-24  1:48               ` Sui Jingfeng
2022-03-24 13:26               ` Rob Herring
2022-03-24 13:26                 ` Rob Herring
2022-03-26 10:04                 ` Sui Jingfeng
2022-03-26 10:04                   ` Sui Jingfeng
2022-03-28 14:04                   ` Rob Herring
2022-03-28 14:04                     ` Rob Herring
2022-03-29  2:02                     ` Sui Jingfeng
2022-03-29  2:02                       ` Sui Jingfeng
2022-03-29 13:24                       ` Rob Herring
2022-03-29 13:24                         ` Rob Herring
2022-03-21 16:29 ` [PATCH v11 6/7] MIPS: Loongson64: defconfig: enable display bridge drivers on Loongson64 Sui Jingfeng
2022-03-21 16:29   ` Sui Jingfeng
2022-03-21 16:29 ` [PATCH v11 7/7] drm/lsdc: add drm driver for loongson display controller Sui Jingfeng
2022-03-21 16:29   ` Sui Jingfeng
2022-03-22 20:49   ` Rob Herring
2022-03-22 20:49     ` Rob Herring
2022-03-23  4:12     ` Sui Jingfeng
2022-03-23  4:12       ` Sui Jingfeng
2022-03-23 13:11       ` Rob Herring
2022-03-23 13:11         ` Rob Herring
2022-03-24  4:05         ` Sui Jingfeng [this message]
2022-03-24  4:05           ` Sui Jingfeng
2022-04-08  2:09         ` Sui Jingfeng
2022-04-08  2:09           ` Sui Jingfeng
2022-03-23  4:19     ` Sui Jingfeng
2022-03-23  4:19       ` Sui Jingfeng
2022-03-23  8:49     ` Sui Jingfeng
2022-03-23  8:49       ` Sui Jingfeng
2022-03-23  9:31     ` Sui Jingfeng
2022-03-23  9:31       ` Sui Jingfeng
2022-03-24  1:39     ` Sui Jingfeng
2022-03-24  1:39       ` Sui Jingfeng
2022-03-24 13:42       ` Rob Herring
2022-03-24 13:42         ` Rob Herring
2022-03-24  7:32     ` Sui Jingfeng
2022-03-24  7:32       ` Sui Jingfeng
2022-03-24 13:56       ` Rob Herring
2022-03-24 13:56         ` Rob Herring
2023-01-17  3:08     ` Sui jingfeng
2023-02-03  2:48     ` suijingfeng

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=6a0d6acd-f778-f3ec-a97a-7c7932579e96@189.cn \
    --to=15330273260@189.cn \
    --cc=airlied@linux.ie \
    --cc=andrey.zhizhikin@leica-geosystems.com \
    --cc=christian.gmeiner@gmail.com \
    --cc=dan.carpenter@oracle.com \
    --cc=daniel@ffwll.ch \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=imirkin@alum.mit.edu \
    --cc=jiaxun.yang@flygoat.com \
    --cc=krzk@kernel.org \
    --cc=l.stach@pengutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=robh@kernel.org \
    --cc=sam@ravnborg.org \
    --cc=sroland@vmware.com \
    --cc=suijingfeng@loongson.cn \
    --cc=tsbogend@alpha.franken.de \
    --cc=tzimmermann@suse.de \
    --cc=zackr@vmware.com \
    --cc=zhangqing@loongson.cn \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.