HW video decode crashes chrome on veyron boards |
|||||
Issue descriptionLooks like an error importing buffers: [drm:rockchip_gem_prime_import_sg_table] *ERROR* failed to map sg_table to contiguous linear address. Reverting crrev.com/dac96e9fb754f59c41ae19ca7c4af61aa20deb58 to give time to investigate.
,
Aug 29 2017
NV12 buffers coming via exo seem to be gbm_bo_imported fine though. The only difference seems to be that we allocate them explicitly with gbm_bo_create and not via v4l2 interface. The parameters we pass to gbm_bo_import seem to be the same.
,
Aug 29 2017
Tomasz said he might have time to take a look at the issue kernel side. Please assign it back to me in case it takes longer than expected to fix.
,
Aug 29 2017
,
Aug 29 2017
,
Aug 29 2017
That's great. Thank you Tomasz!
,
Aug 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/9481de027b6b7b643e7df19642d9da70f642f3af commit 9481de027b6b7b643e7df19642d9da70f642f3af Author: Tomasz Figa <tfiga@chromium.org> Date: Wed Aug 30 02:37:08 2017 CHROMIUM: drm/rockchip: Do not call dma_buf_sg() twice on PRIME import path Current implementation of Rockchip DRM's .gem_prime_import_sg_table() callback calls dma_buf_sg(). However, drm_gem_prime_import() helper already calls dma_buf_map_attachment(), which calls into exporter's mapping code that is expected to map the buffer for the importer and return the mapped sg_table. Calling dma_map_sg() on an already mapped sg_table is an error and leads to failures. Fix it by removing the redundant calls and respective calls to dma_unmap_sg(). BUG= chromium:759408 TEST=Open crosvideo.appspot.com on veyron_minnie, load VP8 DASH 30 FPS stream and make sure the whole video tag is visible to trigger the import. Change-Id: I05ca2b8cccdb32778fe0715b1ab980d2699b8595 Signed-off-by: Tomasz Figa <tfiga@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/640434 Commit-Ready: Kristian H. Kristensen <hoegsberg@chromium.org> Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org> [modify] https://crrev.com/9481de027b6b7b643e7df19642d9da70f642f3af/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
,
Aug 30 2017
FYI, the same issue is present in 4.4, but affected code path is only used when IOMMU is disabled, but it actually does not make sense to import an sg_table without IOMMU (unless it's pointing to a contiguous chunk of memory), so maybe it would just make more sense to completely remove external import in this case? (Should be a separate bug if we decide to do so.)
,
Sep 1 2017
Issue 761345 has been merged into this issue. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by dcasta...@chromium.org
, Aug 29 2017