Loading drivers/gpu/msm/adreno_a6xx_gmu.c +3 −0 Original line number Diff line number Diff line Loading @@ -1523,6 +1523,9 @@ static void a6xx_gmu_snapshot(struct adreno_device *adreno_dev, bool gx_on; struct gmu_mem_type_desc desc[] = { {gmu->hfi_mem, SNAPSHOT_GMU_MEM_HFI}, {gmu->persist_mem, SNAPSHOT_GMU_MEM_BIN_BLOCK}, {gmu->icache_mem, SNAPSHOT_GMU_MEM_BIN_BLOCK}, {gmu->dcache_mem, SNAPSHOT_GMU_MEM_BIN_BLOCK}, {gmu->gmu_log, SNAPSHOT_GMU_MEM_LOG}, {gmu->dump_mem, SNAPSHOT_GMU_MEM_BIN_BLOCK} }; unsigned int val, i; Loading drivers/gpu/msm/kgsl_gmu.c +21 −12 Original line number Diff line number Diff line Loading @@ -369,6 +369,9 @@ static void gmu_kmem_close(struct gmu_device *gmu) struct gmu_iommu_context *ctx = &gmu_ctx[GMU_CONTEXT_KERNEL]; gmu->hfi_mem = NULL; gmu->persist_mem = NULL; gmu->icache_mem = NULL; gmu->dcache_mem = NULL; gmu->dump_mem = NULL; gmu->gmu_log = NULL; Loading Loading @@ -437,26 +440,32 @@ static int gmu_memory_probe(struct kgsl_device *device, /* Allocates & maps memory for WB DUMMY PAGE */ /* Must be the first alloc */ md = allocate_gmu_kmem(gmu, GMU_NONCACHED_KERNEL, DUMMY_SIZE, (IOMMU_READ | IOMMU_WRITE | IOMMU_PRIV)); if (IS_ERR(md)) { ret = PTR_ERR(md); if (IS_ERR_OR_NULL(gmu->persist_mem)) gmu->persist_mem = allocate_gmu_kmem(gmu, GMU_NONCACHED_KERNEL, DUMMY_SIZE, (IOMMU_READ | IOMMU_WRITE | IOMMU_PRIV)); if (IS_ERR(gmu->persist_mem)) { ret = PTR_ERR(gmu->persist_mem); goto err_ret; } /* Allocates & maps memory for DCACHE */ md = allocate_gmu_kmem(gmu, GMU_DCACHE, gmu_vma[GMU_DCACHE].size, if (IS_ERR_OR_NULL(gmu->dcache_mem)) gmu->dcache_mem = allocate_gmu_kmem(gmu, GMU_DCACHE, gmu_vma[GMU_DCACHE].size, (IOMMU_READ | IOMMU_WRITE | IOMMU_PRIV)); if (IS_ERR(md)) { ret = PTR_ERR(md); if (IS_ERR(gmu->dcache_mem)) { ret = PTR_ERR(gmu->dcache_mem); goto err_ret; } /* Allocates & maps memory for ICACHE */ md = allocate_gmu_kmem(gmu, GMU_ICACHE, gmu_vma[GMU_ICACHE].size, if (IS_ERR_OR_NULL(gmu->icache_mem)) gmu->icache_mem = allocate_gmu_kmem(gmu, GMU_ICACHE, gmu_vma[GMU_ICACHE].size, (IOMMU_READ | IOMMU_WRITE | IOMMU_PRIV)); if (IS_ERR(md)) { ret = PTR_ERR(md); if (IS_ERR(gmu->icache_mem)) { ret = PTR_ERR(gmu->icache_mem); goto err_ret; } Loading drivers/gpu/msm/kgsl_gmu.h +6 −0 Original line number Diff line number Diff line Loading @@ -132,6 +132,9 @@ struct kgsl_mailbox { * @gmu_interrupt_num: GMU interrupt number * @fw_image: GMU FW image * @hfi_mem: pointer to HFI shared memory * @icache_mem: pointer to GMU icache memory * @dcache_mem: pointer to GMU dcache memory * @persist_mem: pointer to GMU persistent memory * @dump_mem: pointer to GMU debug dump memory * @gmu_log: gmu event log memory * @hfi: HFI controller Loading Loading @@ -167,6 +170,9 @@ struct gmu_device { unsigned int gmu_interrupt_num; const struct firmware *fw_image; struct gmu_memdesc *hfi_mem; struct gmu_memdesc *icache_mem; struct gmu_memdesc *dcache_mem; struct gmu_memdesc *persist_mem; struct gmu_memdesc *dump_mem; struct gmu_memdesc *gmu_log; struct kgsl_hfi hfi; Loading Loading
drivers/gpu/msm/adreno_a6xx_gmu.c +3 −0 Original line number Diff line number Diff line Loading @@ -1523,6 +1523,9 @@ static void a6xx_gmu_snapshot(struct adreno_device *adreno_dev, bool gx_on; struct gmu_mem_type_desc desc[] = { {gmu->hfi_mem, SNAPSHOT_GMU_MEM_HFI}, {gmu->persist_mem, SNAPSHOT_GMU_MEM_BIN_BLOCK}, {gmu->icache_mem, SNAPSHOT_GMU_MEM_BIN_BLOCK}, {gmu->dcache_mem, SNAPSHOT_GMU_MEM_BIN_BLOCK}, {gmu->gmu_log, SNAPSHOT_GMU_MEM_LOG}, {gmu->dump_mem, SNAPSHOT_GMU_MEM_BIN_BLOCK} }; unsigned int val, i; Loading
drivers/gpu/msm/kgsl_gmu.c +21 −12 Original line number Diff line number Diff line Loading @@ -369,6 +369,9 @@ static void gmu_kmem_close(struct gmu_device *gmu) struct gmu_iommu_context *ctx = &gmu_ctx[GMU_CONTEXT_KERNEL]; gmu->hfi_mem = NULL; gmu->persist_mem = NULL; gmu->icache_mem = NULL; gmu->dcache_mem = NULL; gmu->dump_mem = NULL; gmu->gmu_log = NULL; Loading Loading @@ -437,26 +440,32 @@ static int gmu_memory_probe(struct kgsl_device *device, /* Allocates & maps memory for WB DUMMY PAGE */ /* Must be the first alloc */ md = allocate_gmu_kmem(gmu, GMU_NONCACHED_KERNEL, DUMMY_SIZE, (IOMMU_READ | IOMMU_WRITE | IOMMU_PRIV)); if (IS_ERR(md)) { ret = PTR_ERR(md); if (IS_ERR_OR_NULL(gmu->persist_mem)) gmu->persist_mem = allocate_gmu_kmem(gmu, GMU_NONCACHED_KERNEL, DUMMY_SIZE, (IOMMU_READ | IOMMU_WRITE | IOMMU_PRIV)); if (IS_ERR(gmu->persist_mem)) { ret = PTR_ERR(gmu->persist_mem); goto err_ret; } /* Allocates & maps memory for DCACHE */ md = allocate_gmu_kmem(gmu, GMU_DCACHE, gmu_vma[GMU_DCACHE].size, if (IS_ERR_OR_NULL(gmu->dcache_mem)) gmu->dcache_mem = allocate_gmu_kmem(gmu, GMU_DCACHE, gmu_vma[GMU_DCACHE].size, (IOMMU_READ | IOMMU_WRITE | IOMMU_PRIV)); if (IS_ERR(md)) { ret = PTR_ERR(md); if (IS_ERR(gmu->dcache_mem)) { ret = PTR_ERR(gmu->dcache_mem); goto err_ret; } /* Allocates & maps memory for ICACHE */ md = allocate_gmu_kmem(gmu, GMU_ICACHE, gmu_vma[GMU_ICACHE].size, if (IS_ERR_OR_NULL(gmu->icache_mem)) gmu->icache_mem = allocate_gmu_kmem(gmu, GMU_ICACHE, gmu_vma[GMU_ICACHE].size, (IOMMU_READ | IOMMU_WRITE | IOMMU_PRIV)); if (IS_ERR(md)) { ret = PTR_ERR(md); if (IS_ERR(gmu->icache_mem)) { ret = PTR_ERR(gmu->icache_mem); goto err_ret; } Loading
drivers/gpu/msm/kgsl_gmu.h +6 −0 Original line number Diff line number Diff line Loading @@ -132,6 +132,9 @@ struct kgsl_mailbox { * @gmu_interrupt_num: GMU interrupt number * @fw_image: GMU FW image * @hfi_mem: pointer to HFI shared memory * @icache_mem: pointer to GMU icache memory * @dcache_mem: pointer to GMU dcache memory * @persist_mem: pointer to GMU persistent memory * @dump_mem: pointer to GMU debug dump memory * @gmu_log: gmu event log memory * @hfi: HFI controller Loading Loading @@ -167,6 +170,9 @@ struct gmu_device { unsigned int gmu_interrupt_num; const struct firmware *fw_image; struct gmu_memdesc *hfi_mem; struct gmu_memdesc *icache_mem; struct gmu_memdesc *dcache_mem; struct gmu_memdesc *persist_mem; struct gmu_memdesc *dump_mem; struct gmu_memdesc *gmu_log; struct kgsl_hfi hfi; Loading