- 11 1月, 2016 12 次提交
-
-
由 Alexandre Courbot 提交于
Commit 69c49382 ("drm/nouveau/instmem/gk20a: use direct CPU access") tried to be smart while using the DMA-API by managing the CPU mappings of buffers allocated with the DMA-API by itself. In doing so, it relied on dma_to_phys() which is an architecture-private function not available everywhere. This broke the build on several architectures. Since there is no reliable and portable way to obtain the physical address of a DMA-API buffer, stop trying to be smart and just use the CPU mapping that the DMA-API can provide. This means that buffers will be CPU-mapped for all their life as opposed to when we need them, but anyway using the DMA-API here is a fallback for when no IOMMU is available so we should not expect optimal behavior. This makes the IOMMU and DMA-API implementations of instmem diverge enough that we should maybe put them into separate files... Signed-off-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Alexandre Courbot 提交于
The LRU list used for recycling CPU mappings was handling concurrency very poorly. For instance, if an instobj was acquired twice before being released once, it would end up into the LRU list even though there is still a client accessing it. This patch fixes this by properly counting how many clients are currently using a given instobj. While at it, we also raise errors when inconsistencies are detected, and factorize some code. Signed-off-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Nicolas Chauvet 提交于
This patch is needed by initramfs tools to detect the required firmware files for the module. This patch tests for either TEGRA_124_SOC or TEGRA_132_SOC for the firmwares related to the Tegra K1 generation. v2: move the MODULE_FIRMWARE to the nvidia_platform.c file. This will avoid to test for NOUVEAU_PLATFORM_DRIVER Signed-off-by: NNicolas Chauvet <kwizart@gmail.com> Reviewed-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Vince Hsu 提交于
The offset should be 8 on Kepler and later. Signed-off-by: NVince Hsu <vinceh@nvidia.com> Reviewed-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Ben Skeggs 提交于
Very rough, no idea how correct it is at this point, but it prevents getteximage-depth from piglit from hanging the GPU. v2: updated with NV_PCE_FE_LAUNCHERR_REPORT values provided by NVIDIA Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Ben Skeggs 提交于
Similar in spirit to the gk104 fix with a similar title. Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Ben Skeggs 提交于
The CPU-side tracking of engine runlists was not protected by a lock, leading to list corruption, eventually causing runlist_update() to overrun the GPU-side runlist, triggering an OOPS. Fixes some of the issues noticed during parallel piglit runs. Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Ilia Mirkin 提交于
Signed-off-by: NIlia Mirkin <imirkin@alum.mit.edu> Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Ilia Mirkin 提交于
Signed-off-by: NIlia Mirkin <imirkin@alum.mit.edu> Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Alexandre Courbot 提交于
We want to unlock nv_devices_mutex in this error path as well. Signed-off-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Ilia Mirkin 提交于
Some Fermi's apparently alow allow 297MHz clocks, so create a parameter which allows end-users to set it themselves until we have a reliable way to determine the board's maximum pixel clocks. Signed-off-by: NIlia Mirkin <imirkin@alum.mit.edu> Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Hauke Mehrtens 提交于
Without this patch a pixel clock rate above 165 MHz on a TMDS link is assumed to be dual link. This is true for DVI, but not for HDMI. HDMI supports no dual link, but it supports pixel clock rates above 165 MHz. Only activate Dual Link mode when it is actually possible and requested. Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de> [imirkin: check for hdmi monitor for computing proto, use sor ctrl to enable extra config bit] Signed-off-by: NIlia Mirkin <imirkin@alum.mit.edu> Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
- 01 1月, 2016 1 次提交
-
-
由 Dave Airlie 提交于
Merge tag 'omapdrm-4.5-resolved' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next omapdrm changes for v4.5 * enable DRIVER_ATOMIC * improved TILER performance * cleanups preparing for DMAbuf import * fbdev emulation is now optional * minor fixes * tag 'omapdrm-4.5-resolved' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: drm/omap: remove obsolete manager assignment drm/omap: set DRIVER_ATOMIC for omapdrm drm/omap: remove unused plugin defines drm/omap: Use bitmaps for TILER placement drm: omapdrm: gem: Remove check for impossible condition drm: omapdrm: gem: Simplify error handling when creating GEM object drm: omapdrm: gem: Don't free mmap offset twice drm: omapdrm: gem: Fix GEM object destroy in error path drm: omapdrm: gem: Free the correct memory object drm: omapdrm: gem: Mask out private flags passed from userspace drm: omapdrm: gem: Move global usergart variable to omap_drm_private drm: omapdrm: gem: Group functions by purpose drm: omapdrm: gem: Remove forward declarations drm: omapdrm: gem: Remove unused function prototypes drm: omapdrm: Make fbdev emulation optional drm: omapdrm: Fix plane state free in plane reset handler drm: omapdrm: move omap_plane_reset() drm/omap: Use platform_register/unregister_drivers() drm: omapdrm: tiler: Remove unneded module alias for tiler
-
- 31 12月, 2015 20 次提交
-
-
由 Tomi Valkeinen 提交于
omap_encoder_update() assigns an overlay manager to dssdev->src->manager. This assignment is not needed, as the connections in the display chain have already been made at connect step. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
omapdrm supports atomic modesetting, and it seems to work ok. So let's set the flag to enable the atomic modesetting API support. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
-
由 Tomi Valkeinen 提交于
Remove unused defines related to SGX plugin which are not used. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
-
由 Andy Gross 提交于
Modified Tiler placement to utilize bitmaps for bookkeeping and all placement algorithms. This resulted in a substantial savings in time for all Tiler reservation and free operations. Typical savings are in the range of 28% decrease in time taken with larger buffers showing a 80%+ decrease. Signed-off-by: NAndy Gross <andy.gross@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Laurent Pinchart 提交于
The GEM object can't be tiled without a usergart as that condition is checked and considered as an error when creating the GEM object. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Laurent Pinchart 提交于
The goto error statement end up just returning NULL without performing any cleanup, replace it with a direct return. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Laurent Pinchart 提交于
The drm_gem_free_mmap_offset() call in omap_gem_free_object() is redundant as the same function is called from drm_gem_object_release(). Remove it. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Laurent Pinchart 提交于
Use the omap_gem_free_object() function to destroy the GEM object in the omap_gem_new_handle() error path instead of doing it manually (and incorrectly). Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Laurent Pinchart 提交于
The GEM object free handler frees memory allocated by the driver using the pointer to the drm_gem_object instead of the pointer to the omap_gem_object that embeds it. This doesn't cause any issue in practice as the drm_gem_object is the first field of omap_gem_object, but would cause memory corruption if the structure layout changes. Fix it. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Laurent Pinchart 提交于
The 8 high order bits of the buffer flags are reserved for internal use. Mask them out from the flags passed by userspace. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Laurent Pinchart 提交于
The structure contains data related to a device instance, it shouldn't be a global variable. While at it rename the usergart structures with an omap_drm_ prefix. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Laurent Pinchart 提交于
Divide the GEM implementation in groups of functions to improve readability. No code change is performed by this commit. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Laurent Pinchart 提交于
Reorder functions to get rid of forward declarations Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Laurent Pinchart 提交于
Several DRM core function prototypes refer to functions that don't exist anymore and are thus obviously never called. Remove them. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Laurent Pinchart 提交于
Don't compile the fbdev emulation code when fbdev emulation support is disabled. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Laurent Pinchart 提交于
The plane reset handler frees the plane state and allocates a new default state, but when doing so attempt to free the plane state using the base plane state pointer instead of casting it to the driver-specific state object that has been allocated. Fix it by using the omap_plane_atomic_destroy_state() function to destroy the plane state instead of duplicating the code. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> [tomi.valkeinen@ti.com: move of the func into separate patch] Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
Move omap_plane_reset() function to avoid forward declarations in the next patch. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Thierry Reding 提交于
These new helpers simplify implementing multi-driver modules and properly handle failure to register one driver by unregistering all previously registered drivers. Signed-off-by: NThierry Reding <treding@nvidia.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Luis de Bethencourt 提交于
omap_dmm_tiler.c can't be compiled as a module and it is built unconditionally as part of omapdrm. Since it can't be used as a module, there is no need for it to have an unused MODULE_ALIAS(). Signed-off-by: NLuis de Bethencourt <luisbg@osg.samsung.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Stephen Rothwell 提交于
Fixes: a67719d1 ("drm/rockchip: vop: spilt register related into rockchip_reg_vop.c") Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au> Acked-by: NMark Yao <mark.yao@rock-chips.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 30 12月, 2015 1 次提交
-
-
由 Dave Airlie 提交于
Merge branch 'drm-rockchip-next-2015-12-28' of https://github.com/markyzq/kernel-drm-rockchip into drm-next These patches convert drm/rockchip to atomic API and add rk3036 vop support. * 'drm-rockchip-next-2015-12-28' of https://github.com/markyzq/kernel-drm-rockchip: dt-bindings: add document for rk3036-vop drm/rockchip: vop: add rk3036 vop support drm/rockchip: vop: spilt scale regsters drm/rockchip: vop: spilt register related into rockchip_reg_vop.c drm/rockchip: vop: move interrupt registers into vop_data drm/rockchip: vop: merge vop cfg_done into vop_data drm/rockchip: dw_hdmi: use encoder enable function drm: bridge/dw_hdmi: add atomic API support drm/rockchip: direct config connecter gate and out_mode drm/rockchip: support atomic asynchronous commit drm/rockchip: Optimization vop mode set drm/rockchip: Convert to support atomic API drm/rockchip: vop: replace dpms with enable/disable drm/rockchip: Use new vblank api drm_crtc_vblank_*
-
- 28 12月, 2015 6 次提交
-
-
由 Mark Yao 提交于
Cc: Rob Herring <robh+dt@kernel.org> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk> Cc: Kumar Gala <galak@codeaurora.org> Cc: devicetree@vger.kernel.org Signed-off-by: NMark Yao <mark.yao@rock-chips.com> Acked-by: NRob Herring <robh@kernel.org>
-
由 Mark Yao 提交于
RK3036 registers layout is quite difference with rk3288 layout, The IC design with different framework, rk3036 vop is VOP LITE, and rk3288 is VOP FULL. RK3036 support two overlay plane and one hwc plane, max output resolution is 1080p. it support IOMMU, and its IOMMU same as rk3288's. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
There are two version scale control register found on vop, scale full version found on rk3288, support extension registers. and scale little version found on rk3036, only support common scale. Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
No functional updates. Spilt register related into another file would be nice to multi vop driver, Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
Move interrupt registers into vop_data, so it can use at multi-vop driver Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-
由 Mark Yao 提交于
Move cfg_done register into vop_data, so it can use at multi-vop driver Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
-