LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: "Rob Herring" <rob.e.herring@gmail.com>,
	"Clément Péron" <peron.clem@gmail.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>,
	Mark Rutland <mark.rutland@arm.com>,
	devicetree <devicetree@vger.kernel.org>,
	David Airlie <airlied@linux.ie>,
	linux-sunxi <linux-sunxi@googlegroups.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	Chen-Yu Tsai <wens@csie.org>, Rob Herring <robh+dt@kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v4 0/8] Allwinner H6 Mali GPU support
Date: Thu, 16 May 2019 12:19:06 +0100	[thread overview]
Message-ID: <e8618889-9b22-7f9f-7451-3c08a80a0f9b@arm.com> (raw)
In-Reply-To: <CAC=3edbn1yXih5vP0SwsDkqRB0j5q0c4FL0jhCq9DQ9Wt2-hAA@mail.gmail.com>

On 16/05/2019 00:22, Rob Herring wrote:
> On Wed, May 15, 2019 at 5:06 PM Clément Péron <peron.clem@gmail.com> wrote:
>>
>> Hi Robin,
>>
>> On Tue, 14 May 2019 at 23:57, Robin Murphy <robin.murphy@arm.com> wrote:
>>>
>>> On 2019-05-14 10:22 pm, Clément Péron wrote:
>>>> Hi,
>>>>
>>>> On Tue, 14 May 2019 at 17:17, Clément Péron <peron.clem@gmail.com> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On Tue, 14 May 2019 at 12:29, Neil Armstrong <narmstrong@baylibre.com> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On 13/05/2019 17:14, Daniel Vetter wrote:
>>>>>>> On Sun, May 12, 2019 at 07:46:00PM +0200, peron.clem@gmail.com wrote:
>>>>>>>> From: Clément Péron <peron.clem@gmail.com>
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> The Allwinner H6 has a Mali-T720 MP2. The drivers are
>>>>>>>> out-of-tree so this series only introduce the dt-bindings.
>>>>>>>
>>>>>>> We do have an in-tree midgard driver now (since 5.2). Does this stuff work
>>>>>>> together with your dt changes here?
>>>>>>
>>>>>> No, but it should be easy to add.
>>>>> I will give it a try and let you know.
>>>> Added the bus_clock and a ramp delay to the gpu_vdd but the driver
>>>> fail at probe.
>>>>
>>>> [    3.052919] panfrost 1800000.gpu: clock rate = 432000000
>>>> [    3.058278] panfrost 1800000.gpu: bus_clock rate = 100000000
>>>> [    3.179772] panfrost 1800000.gpu: mali-t720 id 0x720 major 0x1
>>>> minor 0x1 status 0x0
>>>> [    3.187432] panfrost 1800000.gpu: features: 00000000,10309e40,
>>>> issues: 00000000,21054400
>>>> [    3.195531] panfrost 1800000.gpu: Features: L2:0x07110206
>>>> Shader:0x00000000 Tiler:0x00000809 Mem:0x1 MMU:0x00002821 AS:0xf
>>>> JS:0x7
>>>> [    3.207178] panfrost 1800000.gpu: shader_present=0x3 l2_present=0x1
>>>> [    3.238257] panfrost 1800000.gpu: Fatal error during GPU init
>>>> [    3.244165] panfrost: probe of 1800000.gpu failed with error -12
>>>>
>>>> The ENOMEM is coming from "panfrost_mmu_init"
>>>> alloc_io_pgtable_ops(ARM_MALI_LPAE, &pfdev->mmu->pgtbl_cfg,
>>>>                                            pfdev);
>>>>
>>>> Which is due to a check in the pgtable alloc "cfg->ias != 48"
>>>> arm-lpae io-pgtable: arm_mali_lpae_alloc_pgtable cfg->ias 33 cfg->oas 40
>>>>
>>>> DRI stack is totally new for me, could you give me a little clue about
>>>> this issue ?
>>>
>>> Heh, this is probably the one bit which doesn't really count as "DRI stack".
>>>
>>> That's merely a somewhat-conservative sanity check - I'm pretty sure it
>>> *should* be fine to change the test to "cfg->ias > 48" (io-pgtable
>>> itself ought to cope). You'll just get to be the first to actually test
>>> a non-48-bit configuration here :)
>>
>> Thanks a lot, the probe seems fine now :)
>>
>> I try to run glmark2 :
>> # glmark2-es2-drm
>> =======================================================
>>      glmark2 2017.07
>> =======================================================
>>      OpenGL Information
>>      GL_VENDOR:     panfrost
>>      GL_RENDERER:   panfrost
>>      GL_VERSION:    OpenGL ES 2.0 Mesa 19.1.0-rc2
>> =======================================================
>> [build] use-vbo=false:
>>
>> But it seems that H6 is not so easy to add :(.
>>
>> [  345.204813] panfrost 1800000.gpu: mmu irq status=1
>> [  345.209617] panfrost 1800000.gpu: Unhandled Page fault in AS0 at VA
>> 0x0000000002400400
>> [  345.209617] Reason: TODO
>> [  345.209617] raw fault status: 0x800002C1
>> [  345.209617] decoded fault status: SLAVE FAULT
>> [  345.209617] exception type 0xC1: TRANSLATION_FAULT_LEVEL1
>> [  345.209617] access type 0x2: READ
>> [  345.209617] source id 0x8000
>> [  345.729957] panfrost 1800000.gpu: gpu sched timeout, js=0,
>> status=0x8, head=0x2400400, tail=0x2400400, sched_job=000000009e204de9
>> [  346.055876] panfrost 1800000.gpu: mmu irq status=1
>> [  346.060680] panfrost 1800000.gpu: Unhandled Page fault in AS0 at VA
>> 0x0000000002C00A00
>> [  346.060680] Reason: TODO
>> [  346.060680] raw fault status: 0x810002C1
>> [  346.060680] decoded fault status: SLAVE FAULT
>> [  346.060680] exception type 0xC1: TRANSLATION_FAULT_LEVEL1
>> [  346.060680] access type 0x2: READ
>> [  346.060680] source id 0x8100
>> [  346.561955] panfrost 1800000.gpu: gpu sched timeout, js=1,
>> status=0x8, head=0x2c00a00, tail=0x2c00a00, sched_job=00000000b55a9a85
>> [  346.573913] panfrost 1800000.gpu: mmu irq status=1
>> [  346.578707] panfrost 1800000.gpu: Unhandled Page fault in AS0 at VA
>> 0x0000000002C00B80
>> [  346.578707] Reason: TODO
>> [  346.578707] raw fault status: 0x800002C1
>> [  346.578707] decoded fault status: SLAVE FAULT
>> [  346.578707] exception type 0xC1: TRANSLATION_FAULT_LEVEL1
>> [  346.578707] access type 0x2: READ
>> [  346.578707] source id 0x8000
>> [  347.073947] panfrost 1800000.gpu: gpu sched timeout, js=0,
>> status=0x8, head=0x2c00b80, tail=0x2c00b80, sched_job=00000000cf6af8e8
>> [  347.104125] panfrost 1800000.gpu: mmu irq status=1
>> [  347.108930] panfrost 1800000.gpu: Unhandled Page fault in AS0 at VA
>> 0x0000000002800900
>> [  347.108930] Reason: TODO
>> [  347.108930] raw fault status: 0x810002C1
>> [  347.108930] decoded faultn thi status: SLAVE FAULT
>> [  347.108930] exception type 0xC1: TRANSLATION_FAULT_LEVEL1
>> [  347.108930] access type 0x2: READ
>> [  347.108930] source id 0x8100
>> [  347.617950] panfrost 1800000.gpu: gpu sched timeout, js=1,
>> status=0x8, head=0x2800900, tail=0x2800900, sched_job=000000009325fdb7
>> [  347.629902] panfrost 1800000.gpu: mmu irq status=1
>> [  347.634696] panfrost 1800000.gpu: Unhandled Page fault in AS0 at VA
>> 0x0000000002800A80
> 
> Is this 32 or 64 bit userspace? I think 64-bit does not work with
> T7xx. You might need this[1].

[ Oooh... that makes T620 actually do stuff without falling over 
dereferencing VA 0 somewhere halfway through the job chain :D

I shall continue to play... ]

> You may also be the first to try T720,
> so it could be something else.

I was expecting to see a similar behaviour to my T620 (which I now 
assume was down to 64-bit job descriptors sort-of-but-not-quite working) 
but this does look a bit more fundamental - the fact that it's a level 1 
fault with VA == head == tail suggests to me that the MMU can't see the 
page tables at all to translate anything. I really hope that the H6 GPU 
integration doesn't suffer from the same DMA offset as the Allwinner 
display pipeline stuff, because that would be a real pain to support in 
io-pgtable.

Robin.

  reply	other threads:[~2019-05-16 11:19 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-12 17:46 peron.clem
2019-05-12 17:46 ` [PATCH v4 1/8] dt-bindings: gpu: mali-midgard: Add resets property peron.clem
2019-05-12 17:46 ` [PATCH v4 2/8] dt-bindings: gpu: add bus clock for Mali Midgard GPUs peron.clem
2019-05-12 17:46 ` [PATCH v4 3/8] dt-bindings: gpu: mali-midgard: Add H6 mali gpu compatible peron.clem
2019-05-12 17:46 ` [PATCH v4 4/8] arm64: dts: allwinner: Add ARM Mali GPU node for H6 peron.clem
2019-05-12 17:46 ` [PATCH v4 5/8] arm64: dts: allwinner: Add mali GPU supply for Pine H64 peron.clem
2019-05-12 18:28   ` [linux-sunxi] " Jagan Teki
2019-05-14 10:18     ` Chen-Yu Tsai
2019-05-14 15:22       ` Clément Péron
2019-05-12 17:46 ` [PATCH v4 6/8] arm64: dts: allwinner: Add mali GPU supply for Beelink GS1 peron.clem
2019-05-12 17:46 ` [PATCH v4 7/8] arm64: dts: allwinner: Add mali GPU supply for OrangePi Boards peron.clem
2019-05-12 17:46 ` [PATCH v4 8/8] arm64: dts: allwinner: Add mali GPU supply for OrangePi 3 peron.clem
2019-05-13 15:14 ` [PATCH v4 0/8] Allwinner H6 Mali GPU support Daniel Vetter
2019-05-14 10:29   ` Neil Armstrong
2019-05-14 15:17     ` Clément Péron
2019-05-14 21:22       ` Clément Péron
2019-05-14 21:56         ` Robin Murphy
2019-05-15 22:05           ` Clément Péron
2019-05-15 23:22             ` Rob Herring
2019-05-16 11:19               ` Robin Murphy [this message]
2019-05-16 13:21                 ` Steven Price
2019-05-25 19:50                 ` [linux-sunxi] " Jernej Škrabec

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=e8618889-9b22-7f9f-7451-3c08a80a0f9b@arm.com \
    --to=robin.murphy@arm.com \
    --cc=airlied@linux.ie \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@bootlin.com \
    --cc=narmstrong@baylibre.com \
    --cc=peron.clem@gmail.com \
    --cc=rob.e.herring@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=wens@csie.org \
    --subject='Re: [PATCH v4 0/8] Allwinner H6 Mali GPU support' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).