Re: [PATCH 6/6] ARM: dts: Configure rstctrl reset for SGX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 16, 2019 at 2:15 PM H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> wrote:
>
>
> > Am 16.09.2019 um 20:12 schrieb H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>:
> >
> >
> >> Am 16.09.2019 um 20:04 schrieb Tony Lindgren <tony@xxxxxxxxxxx>:
> >>
> >> Hi,
> >>
> >> * Tony Lindgren <tony@xxxxxxxxxxx> [190916 15:18]:
> >>> * H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> [190913 09:50]:
> >>>> Hi Tony,
> >>>>
> >>>>> Am 14.08.2019 um 15:14 schrieb Tony Lindgren <tony@xxxxxxxxxxx>:
> >>>>>
> >>>>> The following can be tested via sysfs with the following to ensure the SGX
> >>>>> module gets enabled and disabled properly:
> >>>>>
> >>>>> # echo on > /sys/bus/platform/devices/5600fe00.target-module/power/control
> >>>>> # rwmem 0x5600fe00                # revision register
> >>>>> 0x5600fe00 = 0x40000000
> >>>>> # echo auto > /sys/bus/platform/devices/5600fe00.target-module/power/control
> >>>>> # rwmem 0x5000fe00
> >>>>> Bus error
> >>>>>
> >>>>> Note that this patch depends on the PRM rstctrl driver that has
> >>>>> been recently posted.
> >>>>
> >>>> Do you have a list of these patches or a git for pulling the complete set
> >>>> of changes? Does it depend on mainline or linux-next?
> >>>
> >>> You need the drivers/bus/ti-sysc.c changes from Linux next,
> >>> and the most recent clkctrl and rstctrl patches posted by
> >>> Tero.
> >>>
> >>>> I tried to find the correct patches but it does not seem to work for
> >>>> me on beaglebone.
> >>>
> >>> OK can you please check the dependencies again and let me know
> >>> if you still have issues?
> >>
> >> To make things easier to test, I pushed out a test branch with
> >> all the pending dependencies :)
> >>
> >> It's basically v5.3 + ti-sysc changes in Linux next, and
> >> the following patches posted by Tero:
> >>
> >> [PATCHv5 00/10] soc: ti: add OMAP PRM driver (for reset)
> >> [PATCHv3 00/10] clk: ti: remoteproc / iommu support patches
> >> [PATCH 00/10] ARM: dts: omap changes for IOMMU / reset support
> >>
> >> And then finally the $subject patch applied on top, and the
> >> tests above still work for me.
> >
> > Ok, fine!
> >
> >>
> >> The test branch is test-pending-ti-sysc-clkctrl-rstctrl-v5.3
> >> at [0] and [1] below.
> >>
> >> Can you please test and see if that works for you?
> >>
> >> Regards,
> >>
> >> Tony
> >>
> >> [0] git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git test-pending-ti-sysc-clkctrl-rstctrl-v5.3
> >> [1] https://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git/log/?h=test-pending-ti-sysc-clkctrl-rstctrl-v5.3
> >
> > I'll check out and try to locate missing pieces.
>
> Ok, this variant works as a basis! At least for register access.
>
> root@letux:~# devmem2 0x5600fe00
> Value at address 0x5600FE00 (0xb6fede00): 0x40000000
> root@letux:~# devmem2 0x5600fe04
> Value at address 0x5600FE04 (0xb6fa1e04): 0x5
> root@letux:~# devmem2 0x5600fe10
> Value at address 0x5600FE10 (0xb6f80e10): 0x28
> root@letux:~#
>
> This is quite similar to OMAP5 where I got
>
> > root@letux:~# devmem2 0x5600fe00
> > Value at address 0x5600FE00 (0xb6f87e00): 0x40000000
> > root@letux:~# devmem2 0x5600fe04
> > Value at address 0x5600FE04 (0xb6f11e04): 0x5
> > root@letux:~# devmem2 0x5600fe10
> > Value at address 0x5600FE10 (0xb6f93e10): 0x3C
>
> or OMAP3:
>
> > root@letux:~# devmem2 0x5000fe00
> > Value at address 0x5000FE00 (0xb6f81e00): 0x40000000
> > root@letux:~# devmem2 0x5000fe04
> > Value at address 0x5000FE04 (0xb6f28e04): 0x5
> > root@letux:~# devmem2 0x5000fe10
> > Value at address 0x5000FE10 (0xb6f5fe10): 0x28
> > root@letux:~#
>
> But SGX driver initialization still fails with a reset_deassert timeout.
>
> root@letux:~# modprobe pvrsrvkm_omap_am335x_sgx530_125
> [  187.528139] pvrsrvkm_omap_am335x_sgx530_125: module is from the staging directory, the quality is unknown, you have been warned.
> [  187.584580] omap_reset_deassert: timedout waiting for gfx:0
> [  187.614430] [drm] Initialized pvr 1.14.3699939 20110701 for 56000000.sgx on minor 1
> root@letux:~# pvrsrvctl --start --no-module
> [  209.085931] PVR_K: UM DDK-(3699939) and KM DDK-(3699939) match. [ OK ]
> [  209.116399] PVR_K:(Error): BridgedDispatchKM: Initialisation failed.  Driver unusable.
> PVR:(Error): LoaduKernelProgram : SGX ukernel program Device Addr: 0xe400000 invalid alignment [0, ]
> PVR:(Error): SetupuKernel : Failed to load uKernel programs [0, ]
> PVR:(Error): SrvInit: Initialisation for device of class 0, type 7, index 0, failed (1) [0, ]
> PVR:(Error): PVRSRVBridgeCall: Failed to access device.  Function ID:3223086862 (strerror returns no value.). [0, ]
> pvrsrvctl: SrvInit failed (already initialized?) (err=PVRSRV_ERROR_OUT_OF_MEMORY - Unable to allocate required memory)
> root@letux:~#
>
> A simple reason may be that I have a bad offset in my device tree setup
> and the driver doesn't see feedback from SGX.
>
> " for 56000000.sgx on minor 1" is suspect.
> IMHO, it should have to be " for 5600fe00.sgx on minor 1"
> But anyways this is a big step forwards having giving me three different
> platforms for testing and comparisons.

I can try to help again with the SGX once I can get the LCD stuff
working.  At some point, the panel-dpi driver was removed, and I am
struggling to get my LCD's back.  Until I can get the LCD's fully
function, I can't test the SGX.  I got a little distracted with the
OPP stuff you did and the thermal throttling.

adam
>
> BR and thanks,
> Nikolaus
>
>



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux