Forward-port pvrsrvkm from kernel 3.4 to mainline #58
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#58
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?
Part of #55, and the bulk of the work.
rogue_km(DDK 1.3, dual GPL/MIT) builds against Linux 3.4. We need it on 7.2, ARMv7. It is 427files, but almost all churn is confined to the OS abstraction layer,
services/server/env/linux/- that is the DDK's design intent and what makes this tractable.Approach
before fixing anything.
get_user_pages()signature churn;vm_operations_struct.faultbecomingvm_fault_t fault(struct vm_fault *);VM_RESERVED->VM_DONTEXPAND | VM_DONTDUMP;create_proc_entry->proc_create+proc_ops;do_gettimeofday->ktime_get_ts64;kmap_atomic->kmap_local_page;access_ok()losingits type argument;
dma_buf_export()takingdma_buf_export_info; DMA API attrs anddma_map_sgtable; idr/ida rework.services/system/rgx_sunxi/{sysconfig,sunxi_init}.cuseshardcoded
SUNXI_*constants andmach/includes that do not exist in mainline. Convert to areal
platform_driverwithof_match_table,devm_platform_ioremap_resource(),platform_get_irq(),devm_clk_get(),devm_regulator_get(). This is a rewrite, not a patch -the file is short.
Reference, not base
TI maintains
ti-img-rogue-driverfor the same DDK family against modern kernels. Itsenv/linuxlayer shows the correct modern idioms and is worth reading closely.
Do not copy it wholesale - its DDK is far newer, and our DDK 1.3 userspace blobs would reject
the resulting bridge.
Done when
Module builds, loads, probes,
/dev/pvrsrvkmappears, no oops. No GPU activity is expected atthis gate. Needs #57 (the DT node) first; does not need the board.