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 > >