aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/host1x/drm/gr2d.c
Commit message (Collapse)AuthorAge
* drm/tegra: Move driver to DRM treeThierry Reding2013-10-31
| | | | | | | In order to make subsystem-wide changes easier, move the Tegra DRM driver back into the DRM tree. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: Move subdevice infrastructure to host1xThierry Reding2013-10-31
| | | | | | | | | | | | | The Tegra DRM driver currently uses some infrastructure to defer the DRM core initialization until all required devices have registered. The same infrastructure can potentially be used by any other driver that requires more than a single sub-device of the host1x module. Make the infrastructure more generic and keep only the DRM specific code in the DRM part of the driver. Eventually this will make it easy to move the DRM driver part back to the DRM subsystem. Signed-off-by: Thierry Reding <treding@nvidia.com>
* gpu: host1x: Expose syncpt and channel functionalityThierry Reding2013-10-31
| | | | | | | Expose the buffer objects, syncpoint and channel functionality in the public public header so that drivers can use them. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: Introduce tegra_drm_client structureThierry Reding2013-10-31
| | | | | | | | This structure derives from host1x_client. DRM-specific fields are moved from host1x_client to this structure, so that host1x_client can remain agnostic of DRM. Signed-off-by: Thierry Reding <treding@nvidia.com>
* gpu: host1x: Make host1x header file publicThierry Reding2013-10-31
| | | | | | | In preparation to support host1x clients other than DRM, move this header into a public location. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: Rename gr2d to tegra-gr2dThierry Reding2013-10-31
| | | | | | | Other drivers use the tegra- prefix in their names, so add it to this driver's name as well for consistency. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: gr2d: Miscellaneous cleanupsThierry Reding2013-10-31
| | | | | | | | | | | | | | | | | | | | | Rework the address table code for the host1x firewall. The previous implementation allocated a bitfield but didn't check for a valid pointer so it could potentially crash. Instead, embed a static bitmap within the gr2d structure to avoid the allocation and use the Linux bitmap API to reduce code complexity. Don't annotate the driver's .remove() function __exit. Even if built in the driver can be unloaded via sysfs, so .remove() needs to stick around after initialization. Also remove the explicit initialization of the driver's .owner field to THIS_MODULE because that's now handled by the driver core. Furthermore make an error message more consistent with other subdrivers, index the syncpts array for better readability, remove a gratuituous newline and reorder some variable declarations to make the code easier to read. Signed-off-by: Thierry Reding <treding@nvidia.com>
* gpu: host1x: Cleanup includesThierry Reding2013-10-31
| | | | | | | Most of the included files are either not required or already included by some other header file. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: Rename host1x_drm_context to tegra_drm_contextThierry Reding2013-10-31
| | | | | | | | | The structure represents a context associated with a particular process that has opened the Tegra DRM device and requested a channel. This is a very DRM-specific notion and has nothing to do with host1x. Rename the structure to more clearly mark the boundaries between the two. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/tegra: Rename host1x_drm structure to tegra_drmThierry Reding2013-10-31
| | | | | | | The host1x and Tegra DRM drivers are currently tightly coupled. Renaming the structure marks the boundary more clearly. Signed-off-by: Thierry Reding <treding@nvidia.com>
* gpu: host1x: Fix client_managed typeArto Merilainen2013-06-22
| | | | | | | | | | client_managed field in syncpoint structure was defined as an integer. The field holds, however, only a boolean value. This patch modifies the type to boolean. Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Acked-By: Terje Bergstrom <tbergstrom@nvidia.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
* drm/tegra: Fix return valueThierry Reding2013-06-22
| | | | | | Return NULL instead of 0 in host1x_bo_lookup(). Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
* drm/tegra: fix error return code in gr2d_submit()Wei Yongjun2013-05-25
| | | | | | | | Fix to return -ENOENT in the host1x_bo lookup error handling case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
* drm/tegra: Add gr2d deviceTerje Bergstrom2013-04-22
Add client driver for 2D device, and IOCTLs to pass work to host1x channel for 2D. Also adds functions that can be called to access sync points from DRM. Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de> Tested-by: Thierry Reding <thierry.reding@avionic-design.de> Tested-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>