Advertisement
Guest User

Patch (Cover letter)

a guest
Jul 2nd, 2015
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.90 KB | None | 0 0
  1. From 658d495aedf4129256cb201cd9308f0f0cb5bc2d Mon Sep 17 00:00:00 2001
  2. From: Kausal Malladi <Kausal.Malladi@intel.com>
  3. Date: Wed, 1 Jul 2015 20:45:23 +0530
  4. Subject: [PATCH 00/12] Color Manager Implementation
  5.  
  6. This patch set adds Color Manager implementation in DRM layer. Color Manager is
  7. an extension in DRM framework to support color correction/enhancement. Various
  8. Hardware platforms can support several color correction capabilities.
  9. Color Manager provides abstraction of these capabilities and allows a
  10. user space UI agent to correct/enhance the display using the DRM property interface.
  11.  
  12. How is this going to work?
  13. ==========================
  14. 1. This patch series adds a few new properties in DRM framework. These properties are:
  15. a. color_capabilities property (type blob)
  16. b. Color Transformation Matrix property for corrections like CSC (called CTM, type blob)
  17. c. Palette correction properties for corrections like gamma fixup (called palette_correction, type blob)
  18. 2. Also, this patch series adds few structures to indicate specifications of a property like size, no_of_samples for correction etc.
  19. 3. These properties are present in mode_config.
  20. 4. When the platform's display driver loads, it fills up the values of color_capabilities property using the standard structures (added in step 2).
  21. For example, Intel's I915 driver adds following color correction capabilities:
  22. a. gamma correction capability as palette correction property, with 257 correction coefficients and a max/min value
  23. b. csc correction capability as CTM correction property, with 3x3 transformation matrix values and max/min values
  24. 5. Now when userspace comes up, it queries the platform's color capabilities by doing a get_property() on color_capabilities DRM property
  25. 6. Reading the blob, the userspace understands the color capabilities of the platform.
  26. For example, userspace will understand it can support:
  27. a. palette_correction with 257 coefficients
  28. b. CSC correction with 3x3 = 9 values
  29. 7. To set color correction values, userspace:
  30. a. creates a blob using the create_blob_ioctl in standard palette_correction structure format, with the correction values
  31. b. calls the set_property_ioctl with the blob_id as value for the property
  32. 8. Driver refers to the blob, gets the correction values and applies the correction in HW.
  33. 9. To get currently applied color correction values, userspace:
  34. a. calls a get_property_ioctl on that color property
  35. b. gets the blob_id for the currently applied correction from DRM infrastructure
  36. c. gets the blob using get_blob_ioctl and hence the currently applied values
  37.  
  38. That's all! :)
  39.  
  40. About the patch series:
  41. =======================
  42. The first patch adds fix for ensuring atomic commit for CRTC properties.
  43. The subsequent patches add code for the framework, which will be common across all the Hardware platforms.
  44. 1. Create Color Management DRM properties
  45. 2. Attach color properties to CRTC
  46. 3. Add structures at DRM level for color management
  47.  
  48. The generic properties supported in this patch set are
  49. 1. Color Transformation Matrix (CTM) for generic usecases like color space conversion and Gamut Mapping
  50. 2. Palette correction before CTM for specific usecases like DeGamma color correction
  51. 3. Palette correction after CTM for specific usecases like Gamma color correction
  52.  
  53. In the subsequent patches, we are adding support for Gamma, DeGamma and CSC color properties for one of the Intel platforms, CHV, as an example.
  54.  
  55. Kausal Malladi (11):
  56. drm: Create Color Management DRM properties
  57. drm/i915: Attach color properties to CRTC
  58. drm: Add structures for querying color capabilities
  59. drm/i915: Load color capabilities for CHV CRTC
  60. drm/i915: Add atomic set property interface for CRTC
  61. drm: Add structures to set/get a palette color property
  62. drm: Export drm_property_replace_global_blob function
  63. drm/i915: Add pipe level Gamma correction for CHV/BSW
  64. drm/i915: Add DeGamma correction for CHV/BSW
  65. drm: Add structure for set/get a CTM color property
  66. drm/i915: Add CSC correction for CHV/BSW
  67.  
  68. Matt Roper (1):
  69. drm/i915: Atomic commit path fix for CRTC properties
  70.  
  71. drivers/gpu/drm/drm_crtc.c | 26 +-
  72. drivers/gpu/drm/i915/Makefile | 3 +-
  73. drivers/gpu/drm/i915/i915_reg.h | 18 +
  74. drivers/gpu/drm/i915/intel_atomic.c | 30 ++
  75. drivers/gpu/drm/i915/intel_color_manager.c | 530 +++++++++++++++++++++++++++++
  76. drivers/gpu/drm/i915/intel_color_manager.h | 74 ++++
  77. drivers/gpu/drm/i915/intel_display.c | 5 +
  78. drivers/gpu/drm/i915/intel_drv.h | 14 +
  79. include/drm/drm_crtc.h | 12 +
  80. include/uapi/drm/drm.h | 51 +++
  81. 10 files changed, 761 insertions(+), 2 deletions(-)
  82. create mode 100644 drivers/gpu/drm/i915/intel_color_manager.c
  83. create mode 100644 drivers/gpu/drm/i915/intel_color_manager.h
  84.  
  85. --
  86. 2.4.5
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement