<tokyovigilante>
warpme: I absolutely do. once that’s accepted I’ll send in the LCD controller enablement, and then the HDMI patches. both work now but the HDMI series in particular not yet fit for majnljne
<tokyovigilante>
some feedback on the DE patches would be awesome, will rebase my HDMI series on top this weekend and push it to my git repo at least
paulk has quit [Ping timeout: 480 seconds]
<warpme>
ah perfect! Will you also push hdmi phy code? I can test: 1\how it goes on h616/313/618 and 2\ potential regressions on h6/rk3328/3399/3566/3568/3588
paulk has joined #linux-sunxi
Schimsalabim has quit [Ping timeout: 480 seconds]
bauen1 has quit [Ping timeout: 480 seconds]
Schimsalabim has joined #linux-sunxi
apritzel has joined #linux-sunxi
bauen1 has joined #linux-sunxi
Schimsalabim has quit [Read error: Connection reset by peer]
<tokyovigilante>
yeah will rebase the trees when I have time, but probably not much point testing the HDMI code elsewhere as it will need significant work, quite a few hacks in the generic HDMI code that need reviewing, it will not get into mainline like that I don’t think.
warpme has quit [Ping timeout: 480 seconds]
mripard has quit [Quit: mripard]
warpme has joined #linux-sunxi
warpme has quit [Ping timeout: 480 seconds]
warpme has joined #linux-sunxi
warpme has quit [Ping timeout: 480 seconds]
<apritzel>
so what is the interest and availability for people to work on A523/T527 mainlining? I have quite some basics now, but there is a lot of work to do still
warpme has joined #linux-sunxi
warpme has quit [Ping timeout: 480 seconds]
vagrantc has quit [Ping timeout: 480 seconds]
iscle has joined #linux-sunxi
<iscle>
Nobody has ever worked on implementing DMA for sunxi musb right?
<iscle>
My specific use case requires high speed usb, with low CPU usage, so I'm giving it a go. If anyone knows about previous work on this I can give it a look too. However, it does not look very complicated :)
warpme has joined #linux-sunxi
<apritzel>
iscle: godspeed! AFAIK this question pops up every now and then here, but typically people then run away ;-)
<apritzel>
I just remember a long time ago people suspecting hardware issues, since AW is not using DMA in their BSP either
<apritzel>
(which might be just laziness or no need or what, but might also be due to a non-communicated hardware issue)
<apritzel>
iscle: but please try it, just saying that upfront, to avoid disappointment
<iscle>
apritzel: In the linux kernel I have for V853 they are indeed using DMA on the driver. At least the code is there, not sure if it's enabled in the config. However, I think it is, because this particular SoC is used in Apple CarPlay USB->Wireless dongles which stream H264 video over usb to the headunit, and I'm sure it's more than 10Mbps including the audio.
<apritzel>
iscle: oh well, then even better! As mentioned, those reports were years ago
<apritzel>
iscle: you would make yourself some friends with this, because people regularly complain about both higher CPU usage and lower bandwidth with OTG at the moment
<iscle>
Maybe tomorrow I have something to test, or maybe in a few hours if I stay late at night coding this haha
<iscle>
It's definitely a positive learning experience, I never dug so deep on the linux kernel!
<iscle>
I'm not sure how to test the usb bandwith after the driver is done. Is there any easy way to do it, with a linux usb gadget or something?
<apritzel>
I think the difference would be quite noticeable ;-)
<apritzel>
do you have a working DMA driver for your SoC?
<iscle>
I haven't tested it but should be identical to the d1 dma which is upstreamed already
<iscle>
So it *should* work
<apritzel>
ah, good!
<apritzel>
SPI and UART support DMA operations, you just need to announce the DMA channel number in the DT, in case you want to test the DMA driver up front
<apritzel>
(before digging around in the MUSB code, while the whole time the DMA driver is the problem)
<iscle>
Then it must work, as I'm booting from SPI flash and using UART to access the machine. The DMA is indeed declared in the DT (also based on the D1 which was upstreamed)
warpme has quit [Ping timeout: 480 seconds]
<iscle>
This is the device I'm using to test, if you're curious
<apritzel>
double check dmesg, I think it announces it somewhere
<apritzel>
well, *booting* from SPI flash might mean Linux is not involved in SPI, unless you do some MTD stuff for the rootfs
<apritzel>
and I am not sure, but I don't believe the console is using UART DMA transfers?
<iscle>
u-boot copies the kernel and dtb to ram, but the rootfs is also in spi and gets accessed by linux
<iscle>
and you're probably right about UART not using DMA
<apritzel>
iscle: ah, if the rootfs is on SPI, then DMA should be used
<iscle>
I'm not seeing anything in dmesg about DMA, give me a sec to check the source code and if it has some debug logs that could be enabled
warpme has joined #linux-sunxi
<iscle>
Enabled DEBUG in sun6i-dma, and it is definitely used haha, so no issues there
warpme has quit [Ping timeout: 480 seconds]
warpme has joined #linux-sunxi
<iscle>
Stupid question: Why in the usb driver code they use musb_readw to read the first 16 bits of the register, instead of reading all 32 bits of them? Is it any better, other than using 16 bits less of RAM?
warpme has quit [Ping timeout: 480 seconds]
<iscle>
The 16 MSB, to make it clearer
warpme has joined #linux-sunxi
warpme has quit [Ping timeout: 480 seconds]
<apritzel>
the driver is quite old, so there might have been dragons there, back then? Like 16-bit busses?
<apritzel>
definitely remember some Ethernet MACs with such restrictions
<apritzel>
but in general, if a register has only 16 defined bits, or you don't need the upper ones, then using a 16 bit read seems alright?