On Fri, Mar 22, 2013 at 04:34:00PM +0200, Terje Bergstrom wrote: > This set of patches adds support for Tegra20 and Tegra30 host1x and > 2D. It is based on linux-next-20130322 with RTC fixes applied. > > Changes in this version: > * Renaming in drivers/gpu/host1x/drm/drm.c to shorten function names > * Whitespace and function order fixes > * An extra struct (host1x_addr_reg) removed > * Added uapi Kbuild entry > > Changes in version 8: > * Own version of framebuffer driver due to move to own allocator > * Thanks to Thierry Reding for help > * Miscellaneous variable name, whitespace and IOCTL interface cleanups > * Bug fixes: > * Validator enabled again > * Added new class 2D strechblit > * Dropped patch "Support CMA object preallocation" > > Changes in version 7: > * host1x memory data structures refactored > * Some "nvhost" leftovers renamed to host1x > > Changes in version 6: > * Rebased on latest tegradrm > * Renamed tegradrm's host1x to host1x_drm > * Indentation and line split fixed to follow tegradrm convention > * Pointers to platform_device replaced with pointers to device > * Added host1x allocator, and wired it in > * Debug spew code fixed to access mem handles from host1x_job > * CDMA code doesn't keep the mem handles anymore > * Push buffer ops have been made generic code > * Removed the pin_array optimization in host1x_job to simplify code > * Large number of smaller changes > > The driver implements an allocator using the dma mapping API. Each buffer is > assigned an ops structure to operate on it. > > host1x is the driver that controls host1x hardware. It supports > host1x command channels, synchronization, and memory management. It > is sectioned into logical driver under drivers/gpu/host1x and > physical driver under drivers/host1x/hw. The physical driver is > compiled with the hardware headers of the particular host1x version. > > The hardware units are described (briefly) in the Tegra2 TRM. Wiki > page http://http.download.nvidia.com/tegra-public-appnotes/host1x.html > also contains a short description of the functionality. > > The patch set merges tegradrm into host1x and adds 2D driver, which > uses host1x channels and sync points. The patch set also adds user > space API to tegradrm for accessing host1x and 2D. > > The changes to add support to libdrm are in > git@xxxxxxxxxxxxx:linux-host1x/libdrm-host1x.git > > Arto Merilainen (2): > gpu: host1x: drm: Rename host1x to host1x_drm > gpu: host1x: drm: Add memory manager and fb > > Terje Bergstrom (7): > gpu: host1x: Add host1x driver > gpu: host1x: Add syncpoint wait and interrupts > gpu: host1x: Add channel support > gpu: host1x: Add debug support > drm: tegra: Move drm to live under host1x > gpu: host1x: Remove second host1x driver > drm: tegra: Add gr2d device > > drivers/gpu/Makefile | 1 + > drivers/gpu/drm/Kconfig | 2 - > drivers/gpu/drm/Makefile | 1 - > drivers/gpu/drm/tegra/Makefile | 7 - > drivers/gpu/drm/tegra/drm.c | 217 -------- > drivers/gpu/drm/tegra/fb.c | 52 -- > drivers/gpu/drm/tegra/host1x.c | 327 ------------ > drivers/gpu/host1x/Kconfig | 23 + > drivers/gpu/host1x/Makefile | 20 + > drivers/gpu/host1x/cdma.c | 491 ++++++++++++++++++ > drivers/gpu/host1x/cdma.h | 100 ++++ > drivers/gpu/host1x/channel.c | 126 +++++ > drivers/gpu/host1x/channel.h | 52 ++ > drivers/gpu/host1x/debug.c | 210 ++++++++ > drivers/gpu/host1x/debug.h | 51 ++ > drivers/gpu/host1x/dev.c | 246 +++++++++ > drivers/gpu/host1x/dev.h | 308 ++++++++++++ > drivers/gpu/{drm/tegra => host1x/drm}/Kconfig | 19 +- > drivers/gpu/{drm/tegra => host1x/drm}/dc.c | 26 +- > drivers/gpu/{drm/tegra => host1x/drm}/dc.h | 0 > drivers/gpu/host1x/drm/drm.c | 640 ++++++++++++++++++++++++ > drivers/gpu/{drm/tegra => host1x/drm}/drm.h | 68 ++- > drivers/gpu/host1x/drm/fb.c | 372 ++++++++++++++ > drivers/gpu/host1x/drm/gem.c | 270 ++++++++++ > drivers/gpu/host1x/drm/gem.h | 59 +++ > drivers/gpu/host1x/drm/gr2d.c | 339 +++++++++++++ > drivers/gpu/{drm/tegra => host1x/drm}/hdmi.c | 5 +- > drivers/gpu/{drm/tegra => host1x/drm}/hdmi.h | 0 > drivers/gpu/{drm/tegra => host1x/drm}/output.c | 0 > drivers/gpu/{drm/tegra => host1x/drm}/rgb.c | 0 > drivers/gpu/host1x/host1x.h | 30 ++ > drivers/gpu/host1x/host1x_bo.h | 87 ++++ > drivers/gpu/host1x/host1x_client.h | 35 ++ > drivers/gpu/host1x/hw/Makefile | 6 + > drivers/gpu/host1x/hw/cdma_hw.c | 326 ++++++++++++ > drivers/gpu/host1x/hw/channel_hw.c | 168 +++++++ > drivers/gpu/host1x/hw/debug_hw.c | 322 ++++++++++++ > drivers/gpu/host1x/hw/host1x01.c | 42 ++ > drivers/gpu/host1x/hw/host1x01.h | 25 + > drivers/gpu/host1x/hw/host1x01_hardware.h | 143 ++++++ > drivers/gpu/host1x/hw/hw_host1x01_channel.h | 120 +++++ > drivers/gpu/host1x/hw/hw_host1x01_sync.h | 243 +++++++++ > drivers/gpu/host1x/hw/hw_host1x01_uclass.h | 174 +++++++ > drivers/gpu/host1x/hw/intr_hw.c | 143 ++++++ > drivers/gpu/host1x/hw/syncpt_hw.c | 114 +++++ > drivers/gpu/host1x/intr.c | 354 +++++++++++++ > drivers/gpu/host1x/intr.h | 102 ++++ > drivers/gpu/host1x/job.c | 603 ++++++++++++++++++++++ > drivers/gpu/host1x/job.h | 162 ++++++ > drivers/gpu/host1x/syncpt.c | 387 ++++++++++++++ > drivers/gpu/host1x/syncpt.h | 165 ++++++ > drivers/video/Kconfig | 2 + > include/trace/events/host1x.h | 272 ++++++++++ > include/uapi/drm/Kbuild | 1 + > include/uapi/drm/tegra_drm.h | 136 +++++ > 55 files changed, 7551 insertions(+), 643 deletions(-) > delete mode 100644 drivers/gpu/drm/tegra/Makefile > delete mode 100644 drivers/gpu/drm/tegra/drm.c > delete mode 100644 drivers/gpu/drm/tegra/fb.c > delete mode 100644 drivers/gpu/drm/tegra/host1x.c > create mode 100644 drivers/gpu/host1x/Kconfig > create mode 100644 drivers/gpu/host1x/Makefile > create mode 100644 drivers/gpu/host1x/cdma.c > create mode 100644 drivers/gpu/host1x/cdma.h > create mode 100644 drivers/gpu/host1x/channel.c > create mode 100644 drivers/gpu/host1x/channel.h > create mode 100644 drivers/gpu/host1x/debug.c > create mode 100644 drivers/gpu/host1x/debug.h > create mode 100644 drivers/gpu/host1x/dev.c > create mode 100644 drivers/gpu/host1x/dev.h > rename drivers/gpu/{drm/tegra => host1x/drm}/Kconfig (56%) > rename drivers/gpu/{drm/tegra => host1x/drm}/dc.c (98%) > rename drivers/gpu/{drm/tegra => host1x/drm}/dc.h (100%) > create mode 100644 drivers/gpu/host1x/drm/drm.c > rename drivers/gpu/{drm/tegra => host1x/drm}/drm.h (77%) > create mode 100644 drivers/gpu/host1x/drm/fb.c > create mode 100644 drivers/gpu/host1x/drm/gem.c > create mode 100644 drivers/gpu/host1x/drm/gem.h > create mode 100644 drivers/gpu/host1x/drm/gr2d.c > rename drivers/gpu/{drm/tegra => host1x/drm}/hdmi.c (99%) > rename drivers/gpu/{drm/tegra => host1x/drm}/hdmi.h (100%) > rename drivers/gpu/{drm/tegra => host1x/drm}/output.c (100%) > rename drivers/gpu/{drm/tegra => host1x/drm}/rgb.c (100%) > create mode 100644 drivers/gpu/host1x/host1x.h > create mode 100644 drivers/gpu/host1x/host1x_bo.h > create mode 100644 drivers/gpu/host1x/host1x_client.h > create mode 100644 drivers/gpu/host1x/hw/Makefile > create mode 100644 drivers/gpu/host1x/hw/cdma_hw.c > create mode 100644 drivers/gpu/host1x/hw/channel_hw.c > create mode 100644 drivers/gpu/host1x/hw/debug_hw.c > create mode 100644 drivers/gpu/host1x/hw/host1x01.c > create mode 100644 drivers/gpu/host1x/hw/host1x01.h > create mode 100644 drivers/gpu/host1x/hw/host1x01_hardware.h > create mode 100644 drivers/gpu/host1x/hw/hw_host1x01_channel.h > create mode 100644 drivers/gpu/host1x/hw/hw_host1x01_sync.h > create mode 100644 drivers/gpu/host1x/hw/hw_host1x01_uclass.h > create mode 100644 drivers/gpu/host1x/hw/intr_hw.c > create mode 100644 drivers/gpu/host1x/hw/syncpt_hw.c > create mode 100644 drivers/gpu/host1x/intr.c > create mode 100644 drivers/gpu/host1x/intr.h > create mode 100644 drivers/gpu/host1x/job.c > create mode 100644 drivers/gpu/host1x/job.h > create mode 100644 drivers/gpu/host1x/syncpt.c > create mode 100644 drivers/gpu/host1x/syncpt.h > create mode 100644 include/trace/events/host1x.h > create mode 100644 include/uapi/drm/tegra_drm.h For the series: Reviewed-by: Thierry Reding <thierry.reding@xxxxxxxxxxxxxxxxx> Tested-by: Thierry Reding <thierry.reding@xxxxxxxxxxxxxxxxx> For the Tegra DRM bits: Acked-by: Thierry Reding <thierry.reding@xxxxxxxxxxxxxxxxx>
Attachment:
pgpo9iulOTXNG.pgp
Description: PGP signature