On Wed, Jun 17, 2020 at 1:16 PM Eric Anholt eric@anholt.net wrote:
On Thu, Apr 9, 2020 at 4:34 PM Jordan Crouse jcrouse@codeaurora.org wrote:
Refactor how address space initialization works. Instead of having the address space function create the MMU object (and thus require separate but equal functions for gpummu and iommu) use a single function and pass the MMU struct in. Make the generic code cleaner by using target specific functions to create the address space so a2xx can do its own thing in its own space. For all the other targets use a generic helper to initialize IOMMU but leave the door open for newer targets to use customization if they need it.
I'm seeing regressions in dEQP-VK.memory.allocation.random.* on cheza after this commit. The symptom is that large allocations fail with -ENOSPC from MSM_GEM_INFO(IOVA).
Possibly relevant change from having stuffed some debug info in:
before: [ 3.791436] [drm:msm_gem_address_space_create] *ERROR* msmgem address space create: 0x1000000 + 0xfeffffff [ 3.801672] platform 506a000.gmu: Adding to iommu group 6 [ 3.807359] [drm:msm_gem_address_space_create] *ERROR* msmgem address space create: 0x0 + 0x7fffffff [ 3.817140] msm ae00000.mdss: bound 5000000.gpu (ops a3xx_ops) [ 3.823212] msm_dpu ae01000.mdp: [drm:msm_ioremap] *ERROR* failed to get memory resource: vbif_nrt [ 3.832429] msm_dpu ae01000.mdp: [drm:msm_ioremap] *ERROR* failed to get memory resource: regdma [ 3.841478] [drm:dpu_kms_hw_init:878] dpu hardware revision:0x40000000 [ 3.848193] [drm:msm_gem_address_space_create] *ERROR* msmgem address space create: 0x1000 + 0xffffefff
after:
[ 3.798707] [drm:msm_gem_address_space_create] *ERROR* msmgem address space create: 0x1000000 + 0xfffffff [ 3.808731] platform 506a000.gmu: Adding to iommu group 6 [ 3.814440] [drm:msm_gem_address_space_create] *ERROR* msmgem address space create: 0x0 + 0x7fffffff [ 3.820494] hub 2-1:1.0: USB hub found [ 3.824108] msm ae00000.mdss: bound 5000000.gpu (ops a3xx_ops) [ 3.828554] hub 2-1:1.0: 4 ports detected [ 3.833756] msm_dpu ae01000.mdp: [drm:msm_ioremap] *ERROR* failed to get memory resource: vbif_nrt [ 3.847038] msm_dpu ae01000.mdp: [drm:msm_ioremap] *ERROR* failed to get memory resource: regdma [ 3.856095] [drm:dpu_kms_hw_init:878] dpu hardware revision:0x40000000 [ 3.862840] [drm:msm_gem_address_space_create] *ERROR* msmgem address space create: 0x1000 + 0xfffffff
256MB for GMU address space?
Found the bug, fixes at the last 2 commits of https://github.com/anholt/linux/tree/drm-msm-address-space
I'm going to try having another go at convincing gmail to let git send-email through, but all the howtos in the world didn't work last time (gsuite has different behavior from normal gmail).