From: Sui Jingfeng <sui.jingfeng@linux.dev>
To: Icenowy Zheng <uwu@icenowy.me>, Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>,
Christian Gmeiner <christian.gmeiner@gmail.com>,
linux-kernel@vger.kernel.org, etnaviv@lists.freedesktop.org,
dri-devel@lists.freedesktop.org
Subject: Re: [etnaviv-next v14 0/8] drm/etnaviv: Add driver wrapper for vivante GPUs attached on PCI(e) device
Date: Tue, 25 Jun 2024 19:06:17 +0800 [thread overview]
Message-ID: <21696f2b-9321-4992-8a05-a4d8bf998e5b@linux.dev> (raw)
In-Reply-To: <19acb7b11ed22a0a87694b2e74807b82e3b5450e.camel@icenowy.me>
Hi,
On 6/25/24 11:18, Icenowy Zheng wrote:
> 在 2024-05-20星期一的 00:53 +0800,Sui Jingfeng写道:
>> drm/etnaviv use the component framework to bind multiple GPU cores to
>> a
>> virtual master, the virtual master is manually create during driver
>> load
>> time. This works well for various SoCs, yet there are some PCIe card
>> has
>> the vivante GPU cores integrated. The driver lacks the support for
>> PCIe
>> devices currently.
>>
>> Adds PCIe driver wrapper on the top of what drm/etnaviv already has,
>> the
>> component framework is still being used to bind subdevices, even
>> though
>> there is only one GPU core. But the process is going to be reversed,
>> we
>> create virtual platform device for each of the vivante GPU IP core
>> shipped
>> by the PCIe master. The PCIe master is real, bind all the virtual
>> child
>> to the master with component framework.
>>
>>
>> v6:
>> * Fix build issue on system without CONFIG_PCI enabled
>> v7:
>> * Add a separate patch for the platform driver rearrangement
>> (Bjorn)
>> * Switch to runtime check if the GPU is dma coherent or not
>> (Lucas)
>> * Add ETNAVIV_PARAM_GPU_COHERENT to allow userspace to query
>> (Lucas)
>> * Remove etnaviv_gpu.no_clk member (Lucas)
>> * Fix Various typos and coding style fixed (Bjorn)
>> v8:
>> * Fix typos and remove unnecessary header included (Bjorn).
>> * Add a dedicated function to create the virtual master
>> platform
>> device.
>> v9:
>> * Use PCI_VDEVICE() macro (Bjorn)
>> * Add trivial stubs for the PCI driver (Bjorn)
>> * Remove a redundant dev_err() usage (Bjorn)
>> * Clean up etnaviv_pdev_probe() with
>> etnaviv_of_first_available_node()
>> v10:
>> * Add one more cleanup patch
>> * Resolve the conflict with a patch from Rob
>> * Make the dummy PCI stub inlined
>> * Print only if the platform is dma-coherrent
>> V11:
>> * Drop unnecessary changes (Lucas)
>> * Tweak according to other reviews of v10.
>>
>> V12:
>> * Create a virtual platform device for the subcomponent GPU
>> cores
>> * Bind all subordinate GPU cores to the real PCI master via
>> component.
>>
>> V13:
>> * Drop the non-component code path, always use the component
>> framework
>> to bind subcomponent GPU core. Even though there is only
>> one core.
>> * Defer the irq handler register.
>> * Rebase and improve the commit message
>>
>> V14:
>> * Rebase onto etnaviv-next and improve commit message.
>>
>> Tested with JD9230P GPU and LingJiu GP102 GPU.
>
> BTW how should VRAM and displayed related parts be handled on these
> dGPUs?
Emm, I can only say I have no ideas.
Thanks for Christian's tested-by, but I'm a bit worry about if etnaviv
folks really like(or need) this. In the past, we started to contribute
before we know the policy/framework very well. I have to managed to
make things work before knowing the full picture. We developing drivers
in a rather rapid way and rather wild. Sometime, we do it just for fun.
As the card don't has a usable driver, we want do something and we do
have already learned the framework and knowledge.
But now as we know a bit more, I actually don't intend to brings
concerns to other people. So only first 6 patch (or only part of them)
are requested to be merged, patch 0007 or patch 0008 can just leave it
there to be reviewed a bit longer if something is unsure.
Its totally up to etnaviv folks, I don't mind. Thanks for the nice
project.
--
Best regards
Sui
next prev parent reply other threads:[~2024-06-25 11:06 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-19 16:53 [etnaviv-next v14 0/8] drm/etnaviv: Add driver wrapper for vivante GPUs attached on PCI(e) device Sui Jingfeng
2024-05-19 16:53 ` [etnaviv-next v14 1/8] drm/etnaviv: Add a dedicated helper function to get various clocks Sui Jingfeng
2024-05-19 16:53 ` [etnaviv-next v14 2/8] drm/etnaviv: Add constructor and destructor for the etnaviv_drm_private structure Sui Jingfeng
2024-05-19 16:53 ` [etnaviv-next v14 3/8] drm/etnaviv: Embed struct drm_device into struct etnaviv_drm_private Sui Jingfeng
2024-05-19 16:53 ` [etnaviv-next v14 4/8] drm/etnaviv: Fix wrong cache property being used for vmap() Sui Jingfeng
2024-05-19 16:53 ` [etnaviv-next v14 5/8] drm/etnaviv: Add support for cached coherent caching mode Sui Jingfeng
2024-05-19 16:53 ` [etnaviv-next v14 6/8] drm/etnaviv: Replace the '&pdev->dev' with 'dev' Sui Jingfeng
2024-05-19 16:53 ` [etnaviv-next v14 7/8] drm/etnaviv: Allow creating subdevices and pass platform specific data Sui Jingfeng
2024-05-19 16:53 ` [etnaviv-next v14 8/8] drm/etnaviv: Add support for vivante GPU cores attached via PCIe device Sui Jingfeng
2024-06-24 18:47 ` [etnaviv-next v14 0/8] drm/etnaviv: Add driver wrapper for vivante GPUs attached on PCI(e) device Christian Gmeiner
2024-06-25 3:18 ` Icenowy Zheng
2024-06-25 11:06 ` Sui Jingfeng [this message]
2024-06-25 12:01 ` Lucas Stach
2024-06-26 4:05 ` Icenowy Zheng
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=21696f2b-9321-4992-8a05-a4d8bf998e5b@linux.dev \
--to=sui.jingfeng@linux.dev \
--cc=christian.gmeiner@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=etnaviv@lists.freedesktop.org \
--cc=l.stach@pengutronix.de \
--cc=linux+etnaviv@armlinux.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=uwu@icenowy.me \
/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