On 2018-03-17 7:36 AM, Helge Deller wrote:
Can you maybe try to localize where in the drivers/ata/sata_via.c driver
triggers the HPMC ?
--- arch/parisc/kernel/hpmc.S 2018-01-28 22:20:33.000000000 +0100
+++ arch/parisc/kernel/hpmc.S 2018-03-15 14:13:46.611969815 +0100
@@ -308,4 +290,5 @@
.align 4
.export os_hpmc_size
os_hpmc_size:
- .word .os_hpmc_end-.os_hpmc
+ /* .word .os_hpmc_end-.os_hpmc */
+ .word (.os_hpmc_end - .os_hpmc) * 4 /* sizeof(u32) */
This one seems wrong.
I think you just didn't hit a HPMC with your first patch, and as such
this patch has no influence...
Helge, did you check that os_hpmc is correctly entered after you added
the ".align 4" statement
(e.g., trigger hpmc by accessing page 0 or such)? I looked at one of my
builds and the size is
correct as is. Is it possible that the length needs to be a multiple of
16? Current length is 0x194.
There are a couple of minor issues with assembly code. There are no
.type and .size directives for
os_hpmc_size.
I think we should investigate further as I have never seen hpmc handler
entered on rp3440 or c8000.
On rp3440, there are messages about the branch failing in the SL log.
However, this might have been
fixed by your alignment fix. I did see a similar issue to what Carlos
indicated on c8000. It would lock
up and require a power cycle when the DRM driver was included in
kernel. However, it seems to be
running fine with v4.15.10 with cache patch and full "Debian" config. I
tried a couple of boots last night
to try to generate the lock up but it didn't happen.
Dave
--
John David Anglin dave.ang...@bell.net