summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/panel/panel-s6e8aa0.c
Commit message (Collapse)AuthorAgeFilesLines
* drm/panel: Add Samsung prefix to panel driversThierry Reding2015-08-131-1067/+0
| | | | | | | | | | The likelihood of getting a large number of panel drivers from different vendors is quite high. Add a prefix to the two existing Samsung panel drivers to set a guideline for future patch submissions. Using vendor prefixes consistently should allow a cleaner organization of the tree. Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/panel: Constify OF match tablesThierry Reding2015-06-051-1/+1
| | | | | | | | Both the Samsung LD9040 and Samsung S6E8AA0 panel drivers are missing a const qualifier for their OF match tables. This data is static and never changes, so can be read-only. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/dsi: Do not require .owner field to be setThierry Reding2014-11-131-1/+0
| | | | | | | Drivers now no longer need to set the .owner field. It will be automatically set at registration time. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/panel: s6e8aa0: Use standard MIPI DSI functionThierry Reding2014-11-131-14/+2
| | | | | | | | Use the newly introduced mipi_dsi_set_maximum_return_packet_size() function to replace an open-coded version. Reviewed-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/dsi: Make mipi_dsi_dcs_{read,write}() symmetricalThierry Reding2014-11-131-1/+1
| | | | | | | | | | | | | | | Currently the mipi_dsi_dcs_write() function requires the DCS command byte to be embedded within the write buffer whereas mipi_dsi_dcs_read() has a separate parameter. Make them more symmetrical by adding an extra command parameter to mipi_dsi_dcs_write(). The S6E8AA0 driver relies on the old asymmetric API and there's concern that moving to the new API may be less efficient. Provide a new function with the old semantics for those cases and make the S6E8AA0 driver use it instead. Reviewed-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/panel: s6e8aa0: Fix build warnings on 64-bitThierry Reding2014-11-071-2/+2
| | | | | | | | The %* format specifier expects an integer, which works fine with size_t arguments on 32-bit because the types match. However on 64-bit, size_t is typedef'd to unsigned long and will cause a build warning. Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/panel: s6e8aa0: Update calls to gpiod_get*()Alexandre Courbot2014-11-061-6/+1
| | | | | | | | | | | | | | Add the new flags argument to calls of (devm_)gpiod_get*() and remove any direction setting code afterwards. Currently both forms (with or without the flags argument) are valid thanks to transitional macros in <linux/gpio/consumer.h>. These macros will be removed once all consumers are updated and the flags argument will become compulsary. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Acked-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/panel: s6e8aa0: Add proper definition for prepare and unprepareAjay Kumar2014-08-061-11/+11
| | | | | | | | | Move out code from enable and disable routines to prepare and unprepare routines, so that functionality is properly distributed across all the panel functions. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/panel: s6e8aa0: Add dummy prepare and unprepare routinesAjay Kumar2014-08-061-0/+12
| | | | | | | | This patch adds dummy definition for prepare and unprepare routines to s6e8aa0 panel driver. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/panel: s6e8aa0: Use static inline for upcastingThierry Reding2014-07-221-1/+4
| | | | | | | | | Use a static inline function for upcasting a struct drm_panel to the driver-specific structure. The advantage over using a macro is that it gives us additional type checking. Acked-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/dsi: Use peripheral's channel for DCS commandsThierry Reding2014-07-221-2/+2
| | | | | | | | | When executing DCS commands, use the channel associated with the DSI peripheral rather than one explicitly specified in the function call. Devices shouldn't be able to step on each others' toes like this. Acked-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/dsi: Make mipi_dsi_dcs_write() return ssize_tThierry Reding2014-07-221-2/+2
| | | | | | | | This function returns the value of the struct mipi_dsi_host_ops' .transfer() so make sure the return types are consistent. Acked-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/panel: s6e8aa0: silence array overflow warningDan Carpenter2014-06-051-0/+1
| | | | | | | | | | | | | | Smatch complains that we are reading beyond the end of the array here: drivers/gpu/drm/panel/panel-s6e8aa0.c:852 s6e8aa0_read_mtp_id() warn: buffer overflow 's6e8aa0_variants' 4 <= 4 We set the error code, so it's not harmful but it looks like a return was intended here so lets add that and silence the warning. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
* drm/panel: add S6E8AA0 driverAndrzej Hajda2014-04-041-0/+1069
The patch adds MIPI-DSI based S6E8AA0 AMOLED LCD panel driver. Driver uses mipi_dsi bus to communicate with panel and exposes drm_panel interface. v2 - added bus error handling, - set maxmimum DSI packet size on init, - removed unsupported brightness drm_panel callbacks, - minor improvements v3 - switched to gpiod framework, - minor fixes in error handling Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
OpenPOWER on IntegriCloud