[oi-dev] [OpenIndiana-discuss] Sun/Oracle China's DRM//KMS Sol11.2 port backported to function on old-style gfxp_private from pre-2010 era but still immediatedly PANICS
Мартин Бохниг
opensxce at mail.ru
Thu Dec 17 15:02:31 UTC 2015
Hi all (here).
No, we won't need more of this non-coming "help".
I made some progress with finding out how the essential offsets are handled, with data structures of so called cookies (no, Nuland and other mass-slaughterers and war-criminals are not invited).
Here only a quick grep:
i915/src/i915_dma.c:1184:static unsigned int i915_vga_set_decode(void *cookie, bool state)
i915/src/i915_dma.c:1186: struct drm_device *dev = cookie;
i915/src/i915_gem_gtt.c:138: ddi_dma_cookie_t cookie;
i915/src/i915_gem_gtt.c:139: uint_t cookie_cnt;
i915/src/i915_gem_gtt.c:141: uint32_t paddr, cookie_end;
i915/src/i915_gem_gtt.c:161: DDI_DMA_DONTWAIT, NULL, &cookie, &cookie_cnt)
i915/src/i915_gem_gtt.c:177: for (paddr = cookie.dmac_address,
i915/src/i915_gem_gtt.c:178: cookie_end = cookie.dmac_address + cookie.dmac_size;
i915/src/i915_gem_gtt.c:179: paddr < cookie_end;
i915/src/i915_gem_gtt.c:185: if (i >= cookie_cnt)
i915/src/i915_gem_gtt.c:187: ddi_dma_nextcookie(ppgtt->dma_hdl, &cookie);
i915/src/i915_gem.c:1110: struct ddi_umem_cookie *umem_cookie = obj->base.maplist.map->umem_cookie;
i915/src/i915_gem.c:1121: umem_cookie->cvaddr = obj->base.gtt_map_kaddr;
i915/src/i915_gem.c:2455: * This function walks the fence regs looking for a free one for @obj,
i915/src/i915_gem.c__ORIG:1109: struct ddi_umem_cookie *umem_cookie = obj->base.maplist.map->umem_cookie;
i915/src/i915_gem.c__ORIG:1120: umem_cookie->cvaddr = obj->base.gtt_map_kaddr;
i915/src/i915_gem.c__ORIG:2429: * This function walks the fence regs looking for a free one for @obj,
i915/src/i915_irq.c:2964: /* We detect FlipDone by looking for the change in PendingFlip from '1'
i915/src/i915_irq.c:3139: /* We detect FlipDone by looking for the change in PendingFlip from '1'
i915/src/intel_bios.c:55: /* walk the sections looking for section_id */
i915/src/intel_bios.c:710: /* Scour memory looking for the VBT signature */
i915/src/intel_dp.c:109: * Thus the strange-looking division by 10 in intel_dp_link_required, to
Binary file mdb/modules/i915.so matches
sys/drm/drm_sun_pci.h:53: ddi_iblock_cookie_t intr_block;
sys/drm/drm_sunmod.h:109:static int drm_sun_devmap(dev_t, devmap_cookie_t,
sys/drm/drmP.h:551: ddi_umem_cookie_t umem_cookie; /**< For SAREA alloc and free */
sys/drm/drmP.h:585: devmap_cookie_t dhp;
sys/drm/drmP.h:647: struct gfxp_pmem_cookie mempool_cookie;
sys/drm/drmP.h:729: ddi_dma_cookie_t cookie;
sys/drm/drmP.h:730: uint_t cookie_num;
sys/drm/drmP.h:742: ddi_umem_cookie_t *umem_cookie;
sys/drm/drmP.h:1076: * the interrupt priority. Interrupt cookie in drm_device
That's a key aspect of getting it to work.
And I noted that even on old snv_147 aka Illumos's gfx_private we do already have:
nm /platform/i86xpv/kernel/misc/amd64/gfx_private|grep ookie
00000000000009c0 T gfxp_umem_cookie_destroy
0000000000000970 T gfxp_umem_cookie_init
So, at least once step ahead.
%martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openindiana.org/pipermail/oi-dev/attachments/20151217/2ef45cdf/attachment-0005.html>
More information about the oi-dev
mailing list