aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-04-03ARM: 7685/1: delay: use private ticks_per_jiffy field for timer-based delay opsWill Deacon3-7/+6
Commit 70264367a243 ("ARM: 7653/2: do not scale loops_per_jiffy when using a constant delay clock") fixed a problem with our timer-based delay loop, where loops_per_jiffy is scaled by cpufreq yet used directly by the timer delay ops. This patch fixes the problem in a more elegant way by keeping a private ticks_per_jiffy field in the delay ops, independent of loops_per_jiffy and therefore not subject to scaling. The loop-based delay continues to use loops_per_jiffy directly, as it should. Acked-by: Nicolas Pitre <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-03ARM: 7684/1: errata: Workaround for Cortex-A15 erratum 798181 (TLBI/DSB ↵Catalin Marinas6-1/+102
operations) On Cortex-A15 (r0p0..r3p2) the TLBI/DSB are not adequately shooting down all use of the old entries. This patch implements the erratum workaround which consists of: 1. Dummy TLBIMVAIS and DSB on the CPU doing the TLBI operation. 2. Send IPI to the CPUs that are running the same mm (and ASID) as the one being invalidated (or all the online CPUs for global pages). 3. CPU receiving the IPI executes a DMB and CLREX (part of the exception return code already). Signed-off-by: Catalin Marinas <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-03ARM: 7682/1: cache-l2x0: fix masking of RTL revision numbering and set_debug ↵Rob Herring1-7/+4
init Commit b8db6b8 (ARM: 7547/4: cache-l2x0: add support for Aurora L2 cache ctrl) moved the masking of the part ID which caused the RTL version to be lost. Commit 6248d06 (ARM: 7545/1: cache-l2x0: make outer_cache_fns a field of l2x0_of_data) changed how .set_debug is initialized. Both commits break commit 74ddcdb (ARM: 7608/1: l2x0: Only set .set_debug on PL310 r3p0 and earlier) which uses the RTL version to conditionally set .set_debug function pointer. Commit b8db6b8 also caused the printed cache ID to be missing the version information. Fix this by reverting how the part number is masked so the RTL version info is maintained. The cache-id-part DT property does not set the RTL bits so masking them should have no effect. Also, re-arrange the order of the function pointer init so the .set_debug function can be overridden. Reported-by: Paolo Pisati <[email protected]> Signed-off-by: Rob Herring <[email protected]> Cc: Gregory CLEMENT <[email protected]> Cc: Yehuda Yitschak <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-03ARM: iWMMXt: always enable iWMMXt support with PJ4 CPUsRussell King1-2/+2
Jason Cooper reports these build errors: arch/arm/kernel/built-in.o: In function `iwmmxt_do': /.../arch/arm/kernel/pj4-cp0.c:36: undefined reference to `iwmmxt_task_release' /.../arch/arm/kernel/pj4-cp0.c:40: undefined reference to `iwmmxt_task_switch' make: *** [vmlinux] Error 1 This is caused because the PJ4 code explicitly references the iWMMXt code, but doesn't require it to be built. Fix this by ensuring that iWMMXt is always enabled with PJ4. Reported-by: Jason Cooper <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-03OMAPDSS: VENC: remove platform_enable/disable callsArchit Taneja1-9/+0
The platform_enable/disable callbacks in board files for VENC omap_dss_device instances don't do anything. Hence, we can remove these callbacks from the VENC driver. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: n8x0 panel: remove use of platform_enable/disableArchit Taneja1-12/+0
The n8x0 panel driver now manages the gpios required to configure the panel. This was previously done in panel_n8x0_data's platform_enable/disable callbacks defined in board files using this panel. All the board files using this panel now pass the gpio information as platform data via the panel_n8x0_data struct, which is needed by the panel driver to configure the gpios connected to the panel. Hence, the uses of platform_enable/disable ops can be safely removed now. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: n8x0 panel: handle gpio data in panel driverArchit Taneja1-0/+15
The n8x0 panel driver leaves gpio configurations to the platform_enable and disable calls in the platform's board file. These should happen in the panel driver itself. A platform data struct called panel_n8x0_data already exists to hold gpio numbers and other platform data. However, the gpio requests are expected to be done in the board file and not the panel driver. Request all the gpios in the panel driver so that the board files which use the the panel don't need to do it. This will help in removing the need for the panel drivers to have platform related callbacks. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: picodlp panel: remove platform_enable/disable callbacksArchit Taneja1-12/+0
The picodlp panel driver now manages the gpios required to configure the panel. This was previously done in omap_dss_device's platform_enable/disable callbacks defined in board files using this panel. All the board files using this panel now pass the gpio information as platform data via the panel_generic_dpi_data struct, which is needed by the panel driver to configure the gpios connected to the panel. Hence, the platform_enable/disable ops can be safely removed now. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: picodlp panel: handle gpio data in panel driverArchit Taneja1-1/+20
The picodlp panel driver leaves gpio requests to the platform's board file. These should happen in the panel driver itself. A platform data struct called picodlp_panel_data already exists to hold gpio numbers and other platform data. Request all the gpios in the panel driver so that the board files which use the the panel don't need to do it. This will help in removing the need for the panel drivers to have platform related callbacks. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: tpo-td043: remove platform_enable/disable callbacksArchit Taneja1-9/+0
The tpo-td043 panel driver now manages the gpios required to configure the panel. This was previously done in omap_dss_device's platform_enable/disable callbacks defined in board files using this panel. All the board files using this panel now pass the gpio information as platform data via the panel_tpo_td043_data struct, which is needed by the panel driver to configure the gpios connected to the panel. Hence, the platform_enable/disable ops can be safely removed now. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: tpo-td043 panel: handle gpios in panel driverArchit Taneja1-15/+21
The tpo-td043mtea1 panel driver leaves gpio configurations to the platform_enable and disable calls in the platform's board file. These should happen in the panel driver itself. Create a platform data struct for the panel, this contains the reset gpio number used by the panel driver, this struct will be passed to the panel driver as platform data. The driver will request and configure the reset gpio rather than leaving it to platform callbacks in board files. This will help in removing the need for the panel drivers to have platform related callbacks. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: nec-nl8048 panel: remove platform_enable/disable callbacksArchit Taneja1-11/+1
The nec-nl8048 panel driver now manages the gpios required to configure the panel. This was previously done in omap_dss_device's platform_enable/disable callbacks defined in board files using this panel. All the board files using this panel now pass the gpio information as platform data via the panel_nec_nl8048_data struct, which is needed by the panel driver to configure the gpios connected to the panel. Hence, the platform_enable/disable ops can be safely removed now. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: nec-nl8048 panel: handle gpios in panel driverArchit Taneja1-11/+34
The nec-nl8048hl11-01 panel driver leaves gpio configurations to the platform_enable and disable calls in the platform's board file. These should happen in the panel driver itself. Create a platform data struct for the panel, this contains the gpio numbers used by the panel driver, this struct will be passed to the panel driver as platform data. The driver will request and configure these gpios rather than leaving it to platform callbacks in board files. This will help in removing the need for the panel drivers to have platform related callbacks. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: acx565akm panel: handle gpios in panel driverArchit Taneja1-15/+33
The acx565akm panel driver leaves gpio configurations to the platform_enable and disable calls in the platform's board file. These should happen in the panel driver itself. Create a platform data struct for the panel, this contains the reset gpio number used by the panel driver, this struct will be passed to the panel driver as platform data. The driver will request and configure the reset gpio rather than leaving it to platform callbacks in board files. This will help in removing the need for the panel drivers to have platform related callbacks. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: sharp-ls panel: remove platform_enable/disable callbacksArchit Taneja1-11/+0
The sharp-ls panel driver now manages the gpios required to configure the panel. This was previously done in omap_dss_device's platform_enable/disable callbacks defined in board files using this panel. All the board files using this panel now pass the gpio information as platform data via the panel_sharp_ls037v7dw01_data struct, which is needed by the panel driver to configure the gpios connected to the panel. Hence, the platform_enable/disable ops can be safely removed now. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: LS037V7DW01: handle gpios in panel driverTomi Valkeinen1-11/+60
Move the GPIO handling from board file's platform callbacks to the panel driver, which gets the gpios via platform data. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: generic dpi panel: remove uses of platform_enable/disable opsArchit Taneja1-11/+1
The generic dpi panel driver now sets the gpios required to configure the panel. This was previously done in platform_enable/disable callbacks in board files. All the board files using generic dpi panel now correctly pass the gpio related information as platform data, which is needed by the panel driver to configure the panel. Hence, the platform_enable/disable ops can be safely removed now. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: lb035q02 panel: remove platform_enable/disable callbacksArchit Taneja1-11/+1
The lgphilips panel driver now manages the gpios required to configure the panel. This was previously done in omap_dss_device's platform_enable/disable callbacks defined in board files using this panel. All the board files using this panel now pass the gpio information as platform data via the panel_generic_dpi_data struct, which is needed by the panel driver to configure the gpios connected to the panel. Hence, the platform_enable/disable ops can be safely removed now. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: lb035q02: handle gpios in panel driverArchit Taneja1-1/+37
The lgphilips panel driver leaves gpio configurations to the platform_enable and disable calls in the platform's board file. These should happen in the panel driver itself. Use the platform data as defined for generic dpi panels to pass gpio information to the lgphilips driver. This will help in removing the need for the panel drivers to have platform related callbacks. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: generic dpi panel: handle gpios in panel driverTomi Valkeinen1-2/+23
The generic dpi panel driver leaves gpio configurations to the platform_enable and disable calls in the platform's board file. These should happen in the panel driver itself. Add a generic way of passing gpio information to the generic dpi panel driver via it's platform_data. This information includes the number of gpios used by the panel, the gpio number and logic level (active high/low) for each gpio. This gpio data will be used by the driver to request and configure the gpios required by the panel. This will help in removing the need for the panel drivers to have platform related callbacks. Signed-off-by: Tomi Valkeinen <[email protected]> Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: panel acx565akm: remove omap_dss_device maximum backlight level usageArchit Taneja1-4/+1
The omap_dss_device structs's max_backlight_level is used to pass maximum backlight level for the platform. However, no board file using this panel populates this field. Therefore, we remove it's usage from the panel driver. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: picodlp: use devm_kzalloc for allocating driver dataArchit Taneja1-10/+6
Use devm_kzalloc instead of kzalloc to allocate driver data for the picodlp panel driver. This simplifies the driver's probe and remove functions. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: lb035q02: use devm_kzalloc for allocating driver dataArchit Taneja1-11/+5
Use devm_kzalloc instead of kzalloc to allocate driver data for the lg phillips panel driver. This simplifies the driver's probe and remove functions. Cc: Steve Sakoman <[email protected]> Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: Generic DPI Panel: use devm_kzalloc for allocating driver dataArchit Taneja1-5/+1
Use devm_kzalloc instead of kzalloc to allocate driver data for the generic dpi panel driver. This simplifies the driver's probe and remove functions. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: n8x0: remove platform backlight callsTomi Valkeinen2-76/+0
The n8x0 panel contains support to call platform backlight functions. These are not used by any board, and can be removed. Signed-off-by: Tomi Valkeinen <[email protected]> Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: NEC-nl8048hl11: remove platform backlight supportArchit Taneja1-74/+0
NEC-nl8048hl11 driver contains support to call platform backlight functions. These are not used by any board, and can be removed. Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: ls037v7dw01: remove platform backlight callsTomi Valkeinen1-62/+0
Sharp ls037v7dw01 driver contains support to call platform backlight functions. These are not used by any board, and can be removed. Signed-off-by: Tomi Valkeinen <[email protected]> Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: acx565akm: remove platform backlight callsTomi Valkeinen1-5/+1
acx565akm has support to call set_backlight/get_backlight in platform code. They are not used by any board, and thus can be removed from the driver. Signed-off-by: Tomi Valkeinen <[email protected]> Signed-off-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: remove dsi videomode from dssdevTomi Valkeinen1-1/+0
DSI videomode is no longer needed in the omap_dss_device, so remove it. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: remove unused old clock calculation codeTomi Valkeinen4-495/+0
Now that the old clock calculation code is no longer used, we can remove it from the driver. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: DSI: use new clock calculation codeTomi Valkeinen3-18/+566
Use the new clock calculation code in the DSI driver. The new code does not need DSI video mode parameters from the panel driver, like the old code does. Instead the new code is given the normal video timings, and a few DSI parameters, which are used to create DSI video timings. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: DPI: use new clock calculation codeTomi Valkeinen1-40/+172
Use the new clock calculation code in the DPI driver. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: SDI: use new clock calculation codeTomi Valkeinen1-1/+67
Use the new clock calculation code in the SDI driver. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: DSI: add new clock calculation codeTomi Valkeinen2-0/+81
Add new way to iterate over DSI PLL and HSDIV clock divisors. dsi_pll_calc() and dss_hsdiv_calc() provide a generic way to go over all the divisors, within given clock range. The functions will call a callback function for each divider set, making the function reusable for all use cases. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: DSS: add new clock calculation codeTomi Valkeinen2-0/+42
Add new way to iterate over DSS clock divisors. dss_div_calc() provides a generic way to go over all the divisors, within given clock range. dss_div_calc() will call a callback function for each divider set, making the function reusable for all use cases. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: DISPC: add new clock calculation codeTomi Valkeinen2-0/+66
Add new way to iterate over DISPC clock divisors. dispc_div_calc() provides a generic way to go over all the divisors, within given pixel clock range. dispc_div_calc() will call a callback function for each divider set, making the function reusable for all use cases. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: DSI remove unneeded clk source setup codeTomi Valkeinen1-18/+6
We always use the same clock sources for DSI, so let's remove the unnecessary clock source fields from dsi_data. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: DSI: add enum omap_dss_dsi_trans_modeTomi Valkeinen2-8/+20
Instead of managing DSI sync ends with booleans, add an enum for the DSI transfer mode. This is much cleaner way to handle the DSI syncs. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: DSI: get line buffer size at probeTomi Valkeinen1-3/+5
To find out the DSI line buffer size we need to read HW registers. To make it possible to do DSI configuration calculations without HW powered up, store the line buffer size at DSI driver's probe. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: DSI: simplify dsi configurationTomi Valkeinen3-82/+31
We have a bunch of dsi functions that are used to do the basic configuration for DSI. To simplify things, and to make sure we have all the necessary information, create a single dsi config function, which does the basic configuration. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: DSI: fix wrong unsigned long long useTomi Valkeinen1-1/+1
dsi_configure_dispc_clocks() stores dsi func clock into unsigned long long, but it should really be just unsigned long. Fix this. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: DISPC: store core clk rateTomi Valkeinen1-9/+9
Store dispc core clock rate so that it's available for calculations even if the HW is disabled. Signed-off-by: Tomi Valkeinen <[email protected]>
2013-04-03OMAPDSS: DPI: fix dpi_get_dsidev() for omap5Tomi Valkeinen1-8/+22
On OMAP5 the DISPC channels and DSI PLLs are not connected the same way. LCD2 on OMAP5 cannot use any DSI PLL as a source clock, but LCD3 can use DSI2's PLL. This patch fixes dpi_get_dsidev() by adding separate case for OMAP5 to handle the difference. Signed-off-by: Tomi Valkeinen <[email protected]> Reviewed-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: Taal: remove rotate & mirror supportTomi Valkeinen1-168/+2
Taal panel driver has support to set rotation and mirroring. However, these features cannot be used without causing tearing, and are never used. The code is just extra bloat, so let's remove it. Signed-off-by: Tomi Valkeinen <[email protected]> Reviewed-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: DSI: fix DSI channel source initializationTomi Valkeinen1-0/+3
During the initialization of the DSI protocol registers, we always set the sources of all DSI channels to L4. However, we don't update the value in the dsi_data, so we may end up with a different value in the register and in the dsi_data, leading to DSI problems. This patch fixes the issue by initializing also the channel source in the dsi_data. Signed-off-by: Tomi Valkeinen <[email protected]> Reviewed-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: DSI: delay dispc initializationTomi Valkeinen1-35/+40
We currently setup both DSI and DISPC related things when the DSI bus is enabled. There's no need for DISPC related thing at that point, though, but only later when the video output is enabled. To make it possible to use the DSI bus before DISPC overlay manager is selected, this patch moves DSI's DISPC initialization to dsi_enable_video_output(), from omapdss_dsi_display_enable(). We also move the selection of DISPC's LCD clock to dsi_enable_video_output. This way there are no DISPC dependencies until the video output is enabled. Signed-off-by: Tomi Valkeinen <[email protected]> Reviewed-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: add output->dispc_channelTomi Valkeinen8-11/+91
The DISPC channel used for each output is currently passed in panel platform data from the board files. To simplify this, and to make the panel drivers less dependent on OMAP, this patch changes omapdss to resolve the channel independently. The channel is resolved based on the OMAP version and, in case of DSI, the DSI module id. This resolved channel is stored into a new field in output, dispc_channel. The few places where dssdev->channel was used are changed to use output->recommended_channel. After this patch, dssdev->channel is obsolete. Signed-off-by: Tomi Valkeinen <[email protected]> Reviewed-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: add output->nameTomi Valkeinen7-0/+8
Add name field to omapdss's outputs so that in the following patches panels refer to the output by their name. The name also helps debugging. Signed-off-by: Tomi Valkeinen <[email protected]> Reviewed-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: HDMI: init output earlierTomi Valkeinen1-2/+2
Move hdmi driver's output initialization a bit earlier, so that it happens before hdmi panel init. In the future the hdmi panel will depend on the output being ready. Signed-off-by: Tomi Valkeinen <[email protected]> Reviewed-by: Archit Taneja <[email protected]>
2013-04-03OMAPDSS: add missing export for omap_dss_get_output()Tomi Valkeinen1-0/+1
omap_dss_get_output() is a public function, but was missing EXPORT_SYMBOL(). Signed-off-by: Tomi Valkeinen <[email protected]> Reviewed-by: Archit Taneja <[email protected]>