Display: the layer address needs a physical/DMA fixup nobody has explained #48
Labels
No labels
blocked-physical
cleanup
hardware
infra
kernel
P1-critical
P2-high
P3-normal
P4-later
reliability
security
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tiagoagueda/a80#48
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
sun4i_backend_update_layer_buffer()now addsPHYS_OFFSETto the address beforeencoding it, under a
needs_dram_phys_offsetquirk for sun9i. That is empirical.What was measured on a Tronsmart Draco AW80:
The layer address is held in bits across two registers, so the hardware uses
((h4add << 32) | l32add) >> 3. Both addresses give the samel32add, differing only inthe four
h4addbits - 6 versus 7 - which is why this hid behind everything else.There is no
dma-rangesanywhere in this SoC's device tree, soof_dma_configure()should be giving an identity mapping and
drm_fb_dma_get_gem_addr()should already returnthe physical address. Why it does not has not been established.
Until it is, the quirk is a symptom fix and must not be proposed anywhere.
Done when
properly