Re: [09/14] drm/ast: Distinguish among chip generations

2023-06-17 Thread Sui Jingfeng
Hi, On 2023/6/16 21:52, Thomas Zimmermann wrote: ASpeed distinguishes among various generations of the AST graphics chipset with various models. [1] The most-recent model AST 2600 is of the 7th generation, the AST 2500 is of the 6th generation, and so on. The ast driver simply picks one of the

Re: [PATCH v2] drm/ingenic: Kconfig: select REGMAP and REGMAP_MMIO

2023-06-17 Thread Sui Jingfeng
Hi, On 2023/6/18 04:41, Paul Cercueil wrote: Hi, Le samedi 17 juin 2023 à 21:48 +0200, Sam Ravnborg a écrit : Hi Paul, On Sat, Jun 17, 2023 at 09:13:37PM +0200, Paul Cercueil wrote: Hi, Le mercredi 07 juin 2023 à 19:06 +0800, Sui Jingfeng a écrit : Otherwise its failed to pass basic

Re: [13/14] drm/ast: Move widescreen- and tx-chip detection into separate helpers

2023-06-18 Thread Sui Jingfeng
Hi, "widescreen-" -> "widescreen" On 2023/6/16 21:52, Thomas Zimmermann wrote: Split ast_detect_chip() into three functions and call them one by one. The new functions detect the transmitter chip and widescreen support. This will allow for further refactoring. Signed-off-by: Thomas Zimmerman

Re: [PATCH v7 2/8] PCI/VGA: Deal only with VGA class devices

2023-06-18 Thread Sui Jingfeng
Hi, On 2023/6/16 22:34, Alex Deucher wrote: On Fri, Jun 16, 2023 at 10:22 AM Sui Jingfeng wrote: On 2023/6/16 21:41, Alex Deucher wrote: On Fri, Jun 16, 2023 at 3:11 AM Sui Jingfeng wrote: Hi, On 2023/6/16 05:11, Alex Deucher wrote: On Wed, Jun 14, 2023 at 6:50 AM Sui Jingfeng wrote

Re: [08/14] drm/ast: Set up release action right after enabling MMIO

2023-06-18 Thread Sui Jingfeng
: Sui Jingfeng Reviewed-by: Sui Jingfeng --- drivers/gpu/drm/ast/ast_main.c | 38 +- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c index 3295876c09b35..6ff4b837e64d7 100644 --- a

Re: [PATCH v7 2/8] PCI/VGA: Deal only with VGA class devices

2023-06-18 Thread Sui Jingfeng
Hi, On 2023/6/18 20:11, Sui Jingfeng wrote: call back to use if successful Call back to us if the drm device driver bound to the PCI GPU successfully

Re: [PATCH v7 2/8] PCI/VGA: Deal only with VGA class devices

2023-06-18 Thread Sui Jingfeng
On 2023/6/18 20:11, Sui Jingfeng wrote: And screen_info is more about video specifci thing. screen_info is something more about video specific thing.

Re: [13/14] drm/ast: Move widescreen- and tx-chip detection into separate helpers

2023-06-18 Thread Sui Jingfeng
: Thomas Zimmermann Reviewed-by: Sui Jingfeng Tested-by: Sui Jingfeng --- drivers/gpu/drm/ast/ast_main.c | 18 +++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c index 7f8fb9a613604..f028b5b47c56e

Re: [14/14] drm/ast: Merge config and chip detection

2023-06-18 Thread Sui Jingfeng
Hi, On 2023/6/16 21:52, Thomas Zimmermann wrote: Detection of the configuration mode and the chipset model are linked to each other. They don't  has a strong relationship,  chipset model detection should the first function to be run(should be run early). chipset model detection should only

Re: [PATCH v7 2/8] PCI/VGA: Deal only with VGA class devices

2023-06-18 Thread Sui Jingfeng
Hi, On 2023/6/19 11:02, Maciej W. Rozycki wrote: On Tue, 13 Jun 2023, Sui Jingfeng wrote: Deal only with the VGA devcie(pdev->class == 0x0300), so replace the Typo here: s/devcie/device/. Thanks a lot, pci_get_subsys() function with pci_get_class(). Filter the non-PCI display device(p

Re: [06/14] drm/ast: Set PCI config before accessing I/O registers

2023-06-19 Thread Sui Jingfeng
Hi, On 2023/6/19 15:59, Thomas Zimmermann wrote: Hi Am 17.06.23 um 10:01 schrieb Sui Jingfeng: On 2023/6/16 21:52, Thomas Zimmermann wrote: Access to I/O registers is required to detect and set up the device. Enable the rsp PCI config bits before. While at it, convert the magic number to

Re: [06/14] drm/ast: Set PCI config before accessing I/O registers

2023-06-19 Thread Sui Jingfeng
Hi, On 2023/6/19 15:59, Thomas Zimmermann wrote: Hi Am 17.06.23 um 10:01 schrieb Sui Jingfeng: On 2023/6/16 21:52, Thomas Zimmermann wrote: Access to I/O registers is required to detect and set up the device. Enable the rsp PCI config bits before. While at it, convert the magic number to

Re: [09/14] drm/ast: Distinguish among chip generations

2023-06-19 Thread Sui Jingfeng
Hi On 2023/6/19 16:22, Thomas Zimmermann wrote: Hi Am 17.06.23 um 10:35 schrieb Sui Jingfeng: Hi, On 2023/6/16 21:52, Thomas Zimmermann wrote: ASpeed distinguishes among various generations of the AST graphics chipset with various models. [1] The most-recent model AST 2600 is of the 7th

Re: [06/14] drm/ast: Set PCI config before accessing I/O registers

2023-06-19 Thread Sui Jingfeng
Hi, On 2023/6/19 16:16, Thomas Zimmermann wrote: Although cosmetical, I'm not so super-happy about the specs disagreeing here: [...] PCI tends to treat status and command as separate 16-bit regs, while the AST spec treats it as one 32-bit register. I don't know this hardware constrain befo

Re: [PATCH v15 1/2] drm: Add kms driver for loongson display controller

2023-06-19 Thread Sui Jingfeng
Hi, On 2023/6/19 17:18, Huacai Chen wrote: In commit message and comments please always use LS7A1000/LS7A2000, don't use ls7a1000 or LS7a1000. OK, this is acceptable.

Re: [PATCH v15 1/2] drm: Add kms driver for loongson display controller

2023-06-19 Thread Sui Jingfeng
Hi, On 2023/6/19 17:18, Huacai Chen wrote: This patch is too large to review, lsdc_benchmark.c, lsdc_benchmark.h and their call sites can be split to a separate patch. Better not, large is not a problem. Single patch is more easy to manage. The first patch of this driver should comes a whol

Re: [PATCH v15 1/2] drm: Add kms driver for loongson display controller

2023-06-19 Thread Sui Jingfeng
Hi. On 2023/6/19 17:18, Huacai Chen wrote: + +enum loongson_chip_id { + CHIP_LS7A1000 = 0, + CHIP_LS7A2000 = 1, + CHIP_LS_LAST, CHIP_LAST or CHIP_LOONGSON_LAST? This is intended,  CHIP_LAST is already defined by other drivers. It will not cause redefinition,  but it deny my

Re: [PATCH v15 1/2] drm: Add kms driver for loongson display controller

2023-06-19 Thread Sui Jingfeng
Hi, On 2023/6/19 17:18, Huacai Chen wrote: In my opinion we needn't know the cpu type in a GPU driver, remove this can also remove ifdefs (and lsdc_probe.c/lsdc_probe.h can be removed). Meanwhile, lsdc_identify() can do something to identify GPU, not CPU. Loongson Display controller don't has

Re: [PATCH v15 1/2] drm: Add kms driver for loongson display controller

2023-06-19 Thread Sui Jingfeng
Hi, On 2023/6/19 18:20, Huacai Chen wrote: On Mon, Jun 19, 2023 at 6:12 PM Sui Jingfeng wrote: Hi. On 2023/6/19 17:18, Huacai Chen wrote: + +enum loongson_chip_id { + CHIP_LS7A1000 = 0, + CHIP_LS7A2000 = 1, + CHIP_LS_LAST, CHIP_LAST or CHIP_LOONGSON_LAST? This is

Re: [PATCH v6 2/8] PCI/VGA: Deal only with VGA class devices

2023-06-19 Thread Sui Jingfeng
Hi, On 2023/6/20 02:12, Limonciello, Mario wrote: On 6/12/2023 2:25 PM, Sui Jingfeng wrote: From: Sui Jingfeng Deal only with the VGA devcie(pdev->class == 0x0300), so replace the pci_get_subsys() function with pci_get_class(). Filter the non-PCI display device(pdev->class != 0x030

Re: [PATCH v2] drm/logicvc: Kconfig: select REGMAP and REGMAP_MMIO

2023-06-19 Thread Sui Jingfeng
Hi, On 2023/6/8 15:15, Paul Kocialkowski wrote: Hi, On Thu 08 Jun 23, 10:42, Sui Jingfeng wrote: drm/logicvc driver is depend on REGMAP and REGMAP_MMIO, should select this two kconfig option, otherwise the driver failed to compile on platform without REGMAP_MMIO selected: ERROR: modpost

Re: [PATCH] drm/drm_gem.c: remove surplus else after return clause

2023-06-19 Thread Sui Jingfeng
ping ? On 2023/3/14 20:53, Sui Jingfeng wrote: else is not generally useful after return Signed-off-by: Sui Jingfeng <15330273...@189.cn> --- drivers/gpu/drm/drm_gem.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/g

[PATCH v10 00/11] drm/etnaviv: Add pci device driver support

2023-06-20 Thread Sui Jingfeng
Rob Herring (1): drm/etnaviv: Replace of_platform.h with explicit includes Sui Jingfeng (10): drm/etnaviv: Add a dedicated function to register an irq handler drm/etnaviv: Add a dedicated function to get various clocks drm/etnaviv: Add dedicated functions to create and destroy platform

[PATCH v10 01/11] drm/etnaviv: Add a dedicated function to register an irq handler

2023-06-20 Thread Sui Jingfeng
-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 32 +++ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c index de8c9894967c..a03e81337d8f 100644 --- a/drivers/gpu

[PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-20 Thread Sui Jingfeng
write-combined BO is still preferred in some case, especially where don't need CPU read, for example, uploading compiled shader bin. Cc: Lucas Stach Cc: Christian Gmeiner Cc: Philipp Zabel Cc: Bjorn Helgaas Cc: Daniel Vetter Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_

[PATCH v10 09/11] drm/etnaviv: Clean up etnaviv_pdev_probe() function

2023-06-20 Thread Sui Jingfeng
Add a dedicate function to do the DMA configuration to the virtual master. Also replace the &pdev->dev with dev. Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 65 +++ 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/driv

[PATCH v10 05/11] drm/etnaviv: Allow bypass component framework

2023-06-20 Thread Sui Jingfeng
code shaing between the PCI driver and the platform driver. Cc: Lucas Stach Cc: Christian Gmeiner Cc: Philipp Zabel Cc: Bjorn Helgaas Cc: Daniel Vetter Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 47 ++- drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 83

[PATCH v10 04/11] drm/etnaviv: Add helpers for private data construction and destruction

2023-06-20 Thread Sui Jingfeng
error handling can also be simplified. Cc: Lucas Stach Cc: Christian Gmeiner Cc: Philipp Zabel Cc: Bjorn Helgaas Cc: Daniel Vetter Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 73 +-- drivers/gpu/drm/etnaviv/etnaviv_drv.h | 1 + 2 files

[PATCH v10 08/11] drm/etnaviv: Add a dedicated function to create the virtual master

2023-06-20 Thread Sui Jingfeng
Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 43 --- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c index d8e788aa16cb..47b2cdbb53e2 100644 --- a/drivers

[PATCH v10 06/11] drm/etnaviv: Add driver support for the PCI devices

2023-06-20 Thread Sui Jingfeng
Cc: Christian Gmeiner Cc: Philipp Zabel Cc: Bjorn Helgaas Cc: Daniel Vetter Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/Kconfig | 10 +++ drivers/gpu/drm/etnaviv/Makefile | 2 + drivers/gpu/drm/etnaviv/etnaviv_drv.c | 13 +++- drivers/gpu/drm/etnaviv

[PATCH v10 03/11] drm/etnaviv: Add dedicated functions to create and destroy platform device

2023-06-20 Thread Sui Jingfeng
: Christian Gmeiner Cc: Philipp Zabel Cc: Bjorn Helgaas Cc: Daniel Vetter Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 56 +++ 1 file changed, 39 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu

[PATCH v10 10/11] drm/etnaviv: Keep the curly brace aligned

2023-06-20 Thread Sui Jingfeng
No functional change. Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c index 8907cdb8a1f8..c9f502a89de6 100644 --- a/drivers

[PATCH v10 02/11] drm/etnaviv: Add a dedicated function to get various clocks

2023-06-20 Thread Sui Jingfeng
ely on the GFX PLL to generate the clock. Typically, the GFX PLL is configured by the platform firmware. Cc: Lucas Stach Cc: Christian Gmeiner Cc: Philipp Zabel Cc: Bjorn Helgaas Cc: Daniel Vetter Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 53

[PATCH v10 11/11] drm/etnaviv: Replace of_platform.h with explicit includes

2023-06-20 Thread Sui Jingfeng
From: Rob Herring Etnaviv doesn't use anything from of_platform.h, but depends on of.h, of_device.h, and platform_device.h which are all implicitly included, but that is going to be removed soon. Signed-off-by: Rob Herring Reviewed-by: Sui Jingfeng Tested-by: Sui Jingfeng --- driver

[PATCH v10 11/11] drm/etnaviv: Replace of_platform.h with explicit includes

2023-06-20 Thread Sui Jingfeng
From: Rob Herring Etnaviv doesn't use anything from of_platform.h, but depends on of.h, of_device.h, and platform_device.h which are all implicitly included, but that is going to be removed soon. Signed-off-by: Rob Herring Reviewed-by: Sui Jingfeng Tested-by: Sui Jingfeng --- driver

Re: [PATCH v2] PCI: Add dummy implement for pci_clear_master() function

2023-06-20 Thread Sui Jingfeng
Hi, On 2023/6/20 19:06, Bjorn Helgaas wrote: On Tue, Jun 20, 2023 at 12:04:40PM +0800, Sui Jingfeng wrote: Where is the formal(unstream) PCI git branch where we could see the latest patch ? Here's the "misc" branch: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/l

Re: [PATCH] drm/drm_gem.c: remove surplus else after return clause

2023-06-20 Thread Sui Jingfeng
Hi, On 2023/6/20 22:43, Thomas Zimmermann wrote: Hi Am 20.06.23 um 06:08 schrieb Sui Jingfeng: ping ? On 2023/3/14 20:53, Sui Jingfeng wrote:   else is not generally useful after return No indention please. OK, will be fixed at the next version. Signed-off-by: Sui Jingfeng <15330

Re: [PATCH v7 2/8] PCI/VGA: Deal only with VGA class devices

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/16 22:34, Alex Deucher wrote: On Fri, Jun 16, 2023 at 10:22 AM Sui Jingfeng wrote: On 2023/6/16 21:41, Alex Deucher wrote: On Fri, Jun 16, 2023 at 3:11 AM Sui Jingfeng wrote: Hi, On 2023/6/16 05:11, Alex Deucher wrote: On Wed, Jun 14, 2023 at 6:50 AM Sui Jingfeng wrote

Re: [PATCH v10 00/11] drm/etnaviv: Add pci device driver support

2023-06-21 Thread Sui Jingfeng
Hi On 2023/6/21 15:55, Christian Gmeiner wrote: Hi From: Sui Jingfeng There is a Vivante GC1000 (v5037) in LS2K1000 and LS7A1000, this GPU is a PCI device, and it has 2D and 3D cores in the same core. This series is trying to add PCI device driver support to drm/etnaviv. Is it possible to

Re: [PATCH v10 00/11] drm/etnaviv: Add pci device driver support

2023-06-21 Thread Sui Jingfeng
bit word: 0x38c8 0x0701 On 2023/6/21 15:55, Christian Gmeiner wrote: Hi From: Sui Jingfeng There is a Vivante GC1000 (v5037) in LS2K1000 and LS7A1000, this GPU is a PCI device, and it has 2D and 3D cores in the same core. This series is trying to add PCI device driver support to drm

Re: drm/virtgpu: Replace dev_private by helper function

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/20 18:33, Thomas Zimmermann wrote: Dereference struct drm_device.dev_private in the helper function do_virtio_gpu_device(). Is the word "Dereference" accurate enough ? I know what you means, I heard of  de-reference a pointer frequently, It stand for fetch the value of a pointe

Re: [PATCH v10 01/11] drm/etnaviv: Add a dedicated function to register an irq handler

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 17:07, Lucas Stach wrote: Am Dienstag, dem 20.06.2023 um 17:47 +0800 schrieb Sui Jingfeng: From: Sui Jingfeng Because getting IRQ from a device is platform-dependent, PCI devices have different methods for getting an IRQ. This patch is a preparation to extend this driver for

Re: [PATCH v10 01/11] drm/etnaviv: Add a dedicated function to register an irq handler

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 17:07, Lucas Stach wrote: Am Dienstag, dem 20.06.2023 um 17:47 +0800 schrieb Sui Jingfeng: From: Sui Jingfeng Because getting IRQ from a device is platform-dependent, PCI devices have different methods for getting an IRQ. This patch is a preparation to extend this driver for

Re: [PATCH v10 03/11] drm/etnaviv: Add dedicated functions to create and destroy platform device

2023-06-21 Thread Sui Jingfeng
Hi On 2023/6/21 17:15, Lucas Stach wrote: Am Dienstag, dem 20.06.2023 um 17:47 +0800 schrieb Sui Jingfeng: From: Sui Jingfeng Also rename the virtual master platform device as etnaviv_platform_device, for better reflection that it is a platform device, not a DRM device. Another benefit is

Re: [08/14] drm/ast: Set up release action right after enabling MMIO

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 19:48, Thomas Zimmermann wrote: Am 19.06.23 um 10:22 schrieb Thomas Zimmermann: Am 19.06.23 um 03:57 schrieb Sui Jingfeng: Hi, Tested with ast2400 On 2023/6/16 21:52, Thomas Zimmermann wrote: Ast sets up a managed release of the MMIO access flags. Move this code next

Re: drm/virtgpu: Replace dev_private by helper function

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 18:36, Thomas Zimmermann wrote: Am 21.06.23 um 11:12 schrieb Sui Jingfeng: Hi, On 2023/6/20 18:33, Thomas Zimmermann wrote: Dereference struct drm_device.dev_private in the helper function do_virtio_gpu_device(). Is the word "Dereference" accurate enough ?

Re: [PATCH v10 06/11] drm/etnaviv: Add driver support for the PCI devices

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 17:39, Lucas Stach wrote: Am Dienstag, dem 20.06.2023 um 17:47 +0800 schrieb Sui Jingfeng: From: Sui Jingfeng This patch adds PCI driver support on top of what we already have, take the GC1000 in LS7A1000/LS2K1000 as the first instance which enjoy the PCI device driver

Re: [PATCH v10 04/11] drm/etnaviv: Add helpers for private data construction and destruction

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 17:22, Lucas Stach wrote: Am Dienstag, dem 20.06.2023 um 17:47 +0800 schrieb Sui Jingfeng: From: Sui Jingfeng There are numerous members in the struct etnaviv_drm_private, which are shared by all GPU core. This patch introduces two dedicated functions for the construction

Re: [PATCH v10 05/11] drm/etnaviv: Allow bypass component framework

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 17:29, Lucas Stach wrote: Am Dienstag, dem 20.06.2023 um 17:47 +0800 schrieb Sui Jingfeng: From: Sui Jingfeng Originally, component frameworks were used to bind multiple GPU cores to a virtual master. But there are chips that have only one GPU core integrated. The component

Re: [PATCH v10 03/11] drm/etnaviv: Add dedicated functions to create and destroy platform device

2023-06-21 Thread Sui Jingfeng
On 2023/6/21 18:23, Lucas Stach wrote: While back to the question you ask, I want etnaviv_create_platform_device() to be generic, can be used by multiple place for multiple purpose. I have successfully copy this to a another drm driver by simply renaming. The body of the function itself doe

Re: [PATCH v2 06/14] drm/ast: Set PCI config before accessing I/O registers

2023-06-21 Thread Sui Jingfeng
. It was probably too late at this point. v2: * use standard 16-bit PCI r/w access (Jingfeng) Signed-off-by: Thomas Zimmermann Reviewed-by: Jocelyn Falempe Tested-by: Jocelyn Falempe # AST2600 Reviewed-by: Sui Jingfeng --- drivers/gpu/drm/ast/ast_drv.h | 1 - drivers/gpu/drm/ast

[PATCH v10 04/11] drm/etnaviv: Add helpers for private data construction and destruction

2023-06-21 Thread Sui Jingfeng
From: Sui Jingfeng There are numerous members in the struct etnaviv_drm_private, which are shared by all GPU core. This patch introduces two dedicated functions for the construction and destruction of the instances of this structure. The goal is to keep its members from leaking to the outside

[PATCH v10 10/11] drm/etnaviv: Keep the curly brace aligned

2023-06-21 Thread Sui Jingfeng
From: Sui Jingfeng No functional change. Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c index 8907cdb8a1f8..c9f502a89de6

[PATCH v10 06/11] drm/etnaviv: Add driver support for the PCI devices

2023-06-21 Thread Sui Jingfeng
From: Sui Jingfeng This patch adds PCI driver support on top of what we already have, take the GC1000 in LS7A1000/LS2K1000 as the first instance which enjoy the PCI device driver. There is only one GPU core for the GC1000 in the LS7A1000 and LS2K1000. Therefore, component frameworks can be

[PATCH v10 03/11] drm/etnaviv: Add dedicated functions to create and destroy platform device

2023-06-21 Thread Sui Jingfeng
From: Sui Jingfeng Also rename the virtual master platform device as etnaviv_platform_device, for better reflection that it is a platform device, not a DRM device. Another benefit is that we no longer need to call of_node_put() for three different cases, Instead, we only need to call it once

[PATCH v10 09/11] drm/etnaviv: Clean up etnaviv_pdev_probe() function

2023-06-21 Thread Sui Jingfeng
From: Sui Jingfeng Add a dedicate function to do the DMA configuration to the virtual master. Also replace the &pdev->dev with dev. Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 65 +++ 1 file changed, 36 insertions(+), 29 deletions(-

[PATCH v10 08/11] drm/etnaviv: Add a dedicated function to create the virtual master

2023-06-21 Thread Sui Jingfeng
From: Sui Jingfeng After introducing the etnaviv_of_first_available_node() helper, the creation of the virtual master platform device can also be simplified. So, switch to etnaviv_create_virtual_master() function. Cc: Lucas Stach Cc: Christian Gmeiner Cc: Philipp Zabel Cc: Bjorn Helgaas Cc

[PATCH v10 02/11] drm/etnaviv: Add a dedicated function to get various clocks

2023-06-21 Thread Sui Jingfeng
From: Sui Jingfeng Because it is also platform-dependent, there are systems where we don't have DT-based clock drivers supported. For example, discrete PCI GPUs. Therefire, don't quit if there is no clock subsystem support.      For the GPU in LS7A1000 and LS2K1000, the working freque

[PATCH v10 05/11] drm/etnaviv: Allow bypass component framework

2023-06-21 Thread Sui Jingfeng
From: Sui Jingfeng Originally, component frameworks were used to bind multiple GPU cores to a virtual master. But there are chips that have only one GPU core integrated. The component framework can be avoided under some circumstances, Another reason is that usperspace programs such as X server

[PATCH v10 00/11] drm/etnaviv: Add pci device driver support

2023-06-21 Thread Sui Jingfeng
From: Sui Jingfeng There is a Vivante GC1000 (v5037) in LS2K1000 and LS7A1000, this GPU is a PCI device, and it has 2D and 3D cores in the same core. This series is trying to add PCI device driver support to drm/etnaviv. v6: * Fix build issue on system without CONFIG_PCI enabled v7

[PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
From: Sui Jingfeng Loongson CPUs maintain cache coherency by hardware, which means that the data in the CPU cache is identical to the data in main system memory. As for the peripheral device, most of Loongson chips chose to define the peripherals as DMA coherent by default, device drivers do not

[PATCH v10 01/11] drm/etnaviv: Add a dedicated function to register an irq handler

2023-06-21 Thread Sui Jingfeng
From: Sui Jingfeng Because getting IRQ from a device is platform-dependent, PCI devices have different methods for getting an IRQ. This patch is a preparation to extend this driver for supporting the PCI devices. Cc: Lucas Stach Cc: Christian Gmeiner Cc: Philipp Zabel Cc: Bjorn Helgaas Cc

Re: [PATCH v10 03/11] drm/etnaviv: Add dedicated functions to create and destroy platform device

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 18:23, Lucas Stach wrote: That's right, but all you do with those indirections through the parameter list is move which of the functions is non-pure, in your case it's etnaviv_init/etnaviv_exit, But there is a difference,  etnaviv_init() and etnaviv_exit() is impossible to be

Re: [PATCH v10 03/11] drm/etnaviv: Add dedicated functions to create and destroy platform device

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 22:00, Lucas Stach wrote: Am Mittwoch, dem 21.06.2023 um 21:31 +0800 schrieb Sui Jingfeng: On 2023/6/21 18:23, Lucas Stach wrote: While back to the question you ask, I want etnaviv_create_platform_device() to be generic, can be used by multiple place for multiple purpose

Re: [PATCH v10 03/11] drm/etnaviv: Add dedicated functions to create and destroy platform device

2023-06-21 Thread Sui Jingfeng
On 2023/6/21 22:35, Sui Jingfeng wrote: Yes it provided flexibly, but don't forget, it rely on the DT. Yes it provided flexibility, it rely on the DT provide such flexibility. -- Jingfeng

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
On 2023/6/21 18:00, Lucas Stach wrote: +static bool etnaviv_is_dma_coherent(struct device *dev) +{ + struct device_node *np; + bool coherent; + + np = etnaviv_of_first_available_node(); + if (np) { + coherent = of_dma_is_coherent(np); + of_nod

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 18:00, Lucas Stach wrote: diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.h b/drivers/gpu/drm/etnaviv/etnaviv_drv.h index 9cd72948cfad..644e5712c050 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.h +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.h @@ -46,6 +46,12 @@ struct etnaviv

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
On 2023/6/21 18:00, Lucas Stach wrote: /* list of GEM objects: */ struct mutex gem_lock; struct list_head gem_list; diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c index b5f73502e3dd..39bdc3774f2d 100644 --- a/drivers/gpu/drm/e

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
Hi On 2023/6/21 18:00, Lucas Stach wrote: + case ETNA_BO_CACHED: + prot = PAGE_KERNEL; + break; + case ETNA_BO_UNCACHED: + prot = pgprot_noncached(PAGE_KERNEL); + break; + case ETNA_BO_WC: + default: +

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
On 2023/6/21 18:00, Lucas Stach wrote: static inline enum dma_data_direction etnaviv_op_to_dma_dir(u32 op) @@ -369,6 +381,7 @@ int etnaviv_gem_cpu_prep(struct drm_gem_object *obj, u32 op, { struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj); struct drm_device *dev =

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 18:00, Lucas Stach wrote: dma_sync_sgtable_for_cpu(dev->dev, etnaviv_obj->sgt, etnaviv_op_to_dma_dir(op)); etnaviv_obj->last_cpu_prep_op = op; @@ -408,8 +421,9 @@ int etnaviv_gem_cpu_fini(struct drm_gem_obj

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
On 2023/6/21 23:23, Lucas Stach wrote: Am Mittwoch, dem 21.06.2023 um 22:44 +0800 schrieb Sui Jingfeng: Hi, On 2023/6/21 18:00, Lucas Stach wrote: diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.h b/drivers/gpu/drm/etnaviv/etnaviv_drv.h index 9cd72948cfad..644e5712c050 100644 --- a

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 23:33, Lucas Stach wrote: Am Mittwoch, dem 21.06.2023 um 23:00 +0800 schrieb Sui Jingfeng: On 2023/6/21 18:00, Lucas Stach wrote: static inline enum dma_data_direction etnaviv_op_to_dma_dir(u32 op) @@ -369,6 +381,7 @@ int etnaviv_gem_cpu_prep(struct drm_gem_object *obj

Re: [PATCH v10 03/11] drm/etnaviv: Add dedicated functions to create and destroy platform device

2023-06-21 Thread Sui Jingfeng
Hi On 2023/6/21 23:20, Lucas Stach wrote: Am Mittwoch, dem 21.06.2023 um 22:35 +0800 schrieb Sui Jingfeng: Hi, On 2023/6/21 22:00, Lucas Stach wrote: Am Mittwoch, dem 21.06.2023 um 21:31 +0800 schrieb Sui Jingfeng: On 2023/6/21 18:23, Lucas Stach wrote: While back to the question you ask

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/22 00:12, Lucas Stach wrote: Am Mittwoch, dem 21.06.2023 um 23:41 +0800 schrieb Sui Jingfeng: On 2023/6/21 23:23, Lucas Stach wrote: Am Mittwoch, dem 21.06.2023 um 22:44 +0800 schrieb Sui Jingfeng: Hi, On 2023/6/21 18:00, Lucas Stach wrote: diff --git a/drivers/gpu/drm

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/22 00:12, Lucas Stach wrote: Am Mittwoch, dem 21.06.2023 um 23:41 +0800 schrieb Sui Jingfeng: On 2023/6/21 23:23, Lucas Stach wrote: Am Mittwoch, dem 21.06.2023 um 22:44 +0800 schrieb Sui Jingfeng: Hi, On 2023/6/21 18:00, Lucas Stach wrote: diff --git a/drivers/gpu/drm

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
Hi On 2023/6/21 23:58, Lucas Stach wrote: you approach forbidden any possibility to use the WC BO at anywhere. My approach need only check once, while you approach need at least 3 check plus so much bit-wise logic operations,  plus a function call  (&, ==, &&, &, ~, &) . and every time you c

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/21 23:58, Lucas Stach wrote: Am Mittwoch, dem 21.06.2023 um 23:30 +0800 schrieb Sui Jingfeng: Hi, On 2023/6/21 18:00, Lucas Stach wrote: dma_sync_sgtable_for_cpu(dev->dev, etnaviv_obj->sgt, etnaviv_op_to_dma_

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-21 Thread Sui Jingfeng
Hi, On 2023/6/22 00:07, Lucas Stach wrote: And as the HW guarantees it on your platform, your platform implementation makes this function effectively a no-op. Skipping the call to this function is breaking the DMA API abstraction, as now the driver is second guessing the DMA API implementation.

Re: [PATCH v15 0/2] drm: Add kms driver for loongson display controller

2023-06-21 Thread Sui Jingfeng
Hi, Dear maintainers: Any chance to get this driver merged ? I have already write this driver by myself from the zero, iterate about 15 times? it there anything missing? On 2023/6/15 22:36, Sui Jingfeng wrote: From: Sui Jingfeng Loongson display controller IP has been integrated in

[PATCH] drm/mgag200: Fix a warning reported by Fi.CI.SPARSE

2023-06-21 Thread Sui Jingfeng
drivers/gpu/drm/mgag200/mgag200_drv.c:23:5: warning: symbol 'mgag200_modeset' was not declared. Should it be static? Found in the log of Fi.CI.SPARSE test [1] [1] https://patchwork.freedesktop.org/series/119249/ Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/mgag200/mgag200_drv.c

Re: [PATCH v6 0/8] PCI/VGA: introduce is_boot_device function callback to vga_client_register

2023-06-21 Thread Sui Jingfeng
Hi On 2023/6/22 06:11, Lyude Paul wrote: For the nouveau bits: Reviewed-by: Lyude Paul Thanks a lot On Tue, 2023-06-13 at 03:25 +0800, Sui Jingfeng wrote: From: Sui Jingfeng The vga_is_firmware_default() function is arch-dependent, it's probably wrong if we simply remove the arch

Re: [PATCH v7 6/8] PCI/VGA: Introduce is_boot_device function callback to vga_client_register

2023-06-21 Thread Sui Jingfeng
Hi, A nouveau developer(Lyude) from redhat send me a R-B, Thanks for the developers of nouveau project. Please allow me add a link[1] here. [1] https://lore.kernel.org/all/0afadc69f99a36bc9d03ecf54ff25859dbc10e28.ca...@redhat.com/ On 2023/6/13 11:01, Sui Jingfeng wrote: From: Sui

[PATCH] drm/drm_gem.c: Remove surplus else after return

2023-06-22 Thread Sui Jingfeng
else is not generally useful after return Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/drm_gem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index 1a5a2cd0d4ec..c18686f434d4 100644 --- a/drivers/gpu/drm

Re: [PATCH] drm/mgag200: Fix a warning reported by Fi.CI.SPARSE

2023-06-22 Thread Sui Jingfeng
Hi, Ah,  I forgot to check that before send a patch, sorry for the noise  :-) On 2023/6/22 20:35, Jocelyn Falempe wrote: This patch was already sent by Tom Rix last month: https://patchwork.freedesktop.org/series/117881/ I can push it to drm-misc-next, if Thomas is ok. That sounds fine. B

Re: [v2,09/14] drm/ast: Distinguish among chip generations

2023-06-22 Thread Sui Jingfeng
erest to the driver. v2: * use __ast_gen_is_eq() (Jingfeng) Signed-off-by: Thomas Zimmermann Link: https://web.archive.org/web/20141007093258/http://www.aspeedtech.com/products.php?fPath=20 # 1 Reviewed-by: Jocelyn Falempe Reviewed-by: Sui Jingfeng Tested-by: Jocelyn Falempe # AS

Re: [v2,14/14] drm/ast: Merge config and chip detection

2023-06-22 Thread Sui Jingfeng
Reviewed-by: Jocelyn Falempe Tested-by: Jocelyn Falempe # AST2600 Reviewed-by: Sui Jingfeng --- drivers/gpu/drm/ast/ast_main.c | 108 + 1 file changed, 57 insertions(+), 51 deletions(-) diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast

Re: [PATCH v2 06/14] drm/ast: Set PCI config before accessing I/O registers

2023-06-22 Thread Sui Jingfeng
Hi, I know something about this patch: On 2023/6/21 20:53, Thomas Zimmermann wrote: Access to I/O registers is required to detect and set up the device. Enable the rsp PCI config bits before. While at it, convert the magic number to macro constants. Enabling the PCI config bits was done afte

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-22 Thread Sui Jingfeng
Hi On 2023/6/21 23:58, Lucas Stach wrote: Am Mittwoch, dem 21.06.2023 um 23:30 +0800 schrieb Sui Jingfeng: Hi, On 2023/6/21 18:00, Lucas Stach wrote: dma_sync_sgtable_for_cpu(dev->dev, etnaviv_obj->sgt, etnaviv_op_to_dma_

Re: [PATCH] drm: gem: add an option for supporting the dma-coherent hardware.

2023-06-22 Thread Sui Jingfeng
Hi, On 2023/6/8 15:39, Maxime Ripard wrote: On Thu, Jun 08, 2023 at 01:18:38AM +0800, Sui Jingfeng wrote: Hi, On 2023/6/8 00:12, Paul Cercueil wrote: Hi Sui, Le mercredi 07 juin 2023 à 22:38 +0800, Sui Jingfeng a écrit : Hi,  welcome to discussion. I have limited skills in manipulating

Re: [PATCH v2 06/14] drm/ast: Set PCI config before accessing I/O registers

2023-06-23 Thread Sui Jingfeng
Hi, On 2023/6/23 17:02, Thomas Zimmermann wrote: Hi Am 22.06.23 um 17:42 schrieb Sui Jingfeng: [...] +    ret = ast_init_pci_config(pdev); +    if (ret) +    return ERR_PTR(ret); + Is the calling to ast_init_pci_config() absolute necessary ? I'm asking this question because I

Re: [PATCH v10 07/11] drm/etnaviv: Add support for the dma coherent device

2023-06-23 Thread Sui Jingfeng
Hi, On 2023/6/23 19:52, Robin Murphy wrote: On 2023-06-20 10:47, Sui Jingfeng wrote: From: Sui Jingfeng Loongson CPUs maintain cache coherency by hardware, which means that the data in the CPU cache is identical to the data in main system memory. As for the peripheral device, most of

[PATCH v1 1/8] drm/etnaviv: Using the size_t variable to store the number of pages

2023-06-24 Thread Sui Jingfeng
From: Sui Jingfeng Because the etnaviv_gem_new_private() function receives the size_t argument for the number of pages. And the number of pages should be unsigned. Note that Most 32-bit architectures use "unsigned int" size_t, and all 64-bit architectures use "unsigned long&quo

[PATCH v1 2/8] drm/etnaviv: Using the unsigned int type to count the number of pages

2023-06-24 Thread Sui Jingfeng
From: Sui Jingfeng Instead of the 'int' type in the etnaviv_gem_prime_get_sg_table(), because the drm_prime_pages_to_sg() function takes an unsigned int type as its third argument. Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c | 2 +- 1 file changed, 1

[PATCH v1 6/8] drm/etnaviv: No indentation by double tabs

2023-06-24 Thread Sui Jingfeng
From: Sui Jingfeng Single tab should be enough. Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c index

[PATCH v1 5/8] drm/etnaviv: Keep the curly brace aligned

2023-06-24 Thread Sui Jingfeng
From: Sui Jingfeng No functional change. Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c index 00223a874909..cef97bb9c99f

[PATCH v1 0/8] drm/etnaviv: Various cleanup

2023-06-24 Thread Sui Jingfeng
From: Sui Jingfeng No functional change. Sui Jingfeng (8): drm/etnaviv: Using the size_t variable to store the number of pages drm/etnaviv: Using the unsigned int type to count the number of pages drm/etnaviv: Drop the second argument of the etnaviv_gem_new_impl() drm/etnaviv: Remove

[PATCH v1 3/8] drm/etnaviv: Drop the second argument of the etnaviv_gem_new_impl()

2023-06-24 Thread Sui Jingfeng
From: Sui Jingfeng Because it is not used by the etnaviv_gem_new_impl() function, no functional change. Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_gem.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b

[PATCH v1 7/8] drm/etnaviv: Add dedicated functions to create and destroy platform device

2023-06-24 Thread Sui Jingfeng
From: Sui Jingfeng Also rename the virtual master device as etnaviv_platform_device, for better reflection that it is a platform device, not a DRM device. Another benefit is that we no longer need to call of_node_put() for three different cases, Instead, we only need to call it once. Signed-off

[PATCH v1 8/8] drm/etnaviv: Add a helper to get a pointer to the first available node

2023-06-24 Thread Sui Jingfeng
From: Sui Jingfeng This make the code in etnaviv_pdev_probe() less twisted, drop the reference to device node after finished. Also kill a double blank line. Signed-off-by: Sui Jingfeng --- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 32 ++- 1 file changed, 22 insertions

<    1   2   3   4   5   6   7   8   9   10   >