Hi Rob and Nicolas,

Thank you very much for your replies.

On Wednesday 31 May 2017 05:45 PM, Rob Clark wrote:
On Wed, May 31, 2017 at 3:42 AM, abhijit <abhijitnai...@gmail.com> wrote:
Hi,

We are working on iMx53 Quick start board based on iMx53 application
processor. As you know this has A200 GPU.

If I see in the mainline kernel 4.11.3, there are no source files for A2XX
GPU. Based on this I am assuming that the mainline doesn't have support for
A2XX.

However in kernel-msm git checkout from Freedreno, there are A2XX related
source code. I wanted to know whether this code is tested one and reason for
non-inclusion of this code in mainline kernel.

With the kgsl backend in libdrm_freedreno, the userspace mesa driver
can work with some specific of kgsl (drivers/gpu/msm) from downstream
kernel-msm tree.. that kind of involves some hacks that don't work
perfectly to fake implicit-sync.  And I think downstream api changed
over time, I don't think many have had much luck getting that working
on newer android kernel branches.

Actually I am new to GPU technology. Can you please point to some links
w.r.t implicit-sync..


As far as upstream driver (drivers/gpu/drm/msm), no one has sent
patches, yet.  Someone would need to study the a2xx parts in
downstream kernel and figure out how to add that in drm/msm/adreno.
Since the gpummu is part of the gpu (rather than a separate iommu
block with iommu driver outside of drm/msm), that would also need to
be ported.

Does IOMMU supported in downstream kernel?

Actually instead of porting the driver to upstream kernel, I was thinking about building these components as loadable modules and using it in the upstream kernel, as we have very less time w.r.t this activity. If we are successful, we can take it as starting point for putting things together for porting.

Following is the approach I want to take for getting A200 to work on upstream kernel, based on suggestion by Rob, 1. Get working old binary only GPU driver to work on the board and get clock and register values. 2. These clock values can be passed from Device tree entries or platform data when booting it from main-line kernel 3. Build Gallium dri component, drm component and driver component(KGSL) for upstream kernel(Only OPENGL path with KGSL approach)


I am comparing upstream stream Linux kernel provided by Freescale for i.mx53 QSB. The kernel version is 4.11.3.

The downstream kernel is, freedreno git repository "https://github.com/freedreno/kernel-msm.git";, this repository and I am on hp-tenderloin-3.0 branch, which is android kernel.

Please let me know if my understanding is correct.
 If you have a setup w/ the downstream kernel driver
working (for example on an old kernel), doing something approximately
like this[1] could be useful to log clock/regulator/register access.
The demsm tool in freedreno envytools tree[2] can decode the logged
registers to make it easier to read.

Note, there have been some mesa patches on userspace side to make
things work better on a20x variants (previously I only had a22x
devices), although I don't think I've seen those posted to mesa-devel
yet.

[1] 
https://github.com/freedreno/kernel-msm/commit/814a28f5cedc8621fe746b601dd51d5869931845
[2] https://github.com/freedreno/envytools/blob/master/rnn/demsm.c

BR,
-R

Are there any pointers how I can go about it.

Thank you very much :)

Regards,
    Abhijit
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Regards,
   Abhijit
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to