summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2011-06-01TILER: Use owner's pid to notify devhSubin K G
This is with respect to the change made at the deh layer. In earlier implementation devh will always take the current pid and use that to send the death notification.This was causing some issue because some times the process which acquired the handle may not the one releasing the handle,and in that case,will be sending the wrong pid.In order to take care of this issue always use the stored pid in driver's private data to send the notification. Change-Id: I50efe3a135975d0d88634892c886a5c7f52ae4f6 Signed-off-by: Subin K G <subin.kg@ti.com> Signed-off-by: Andy Gross <andy.gross@ti.com>
2011-05-31TILER: Implement tcm_clear, and initialize TILER container.Lajos Molnar
Implement tcm_clear and initialize TILER container to a blank page. This eliminates problems from reading into an unmapped TILER page that can happen with 3rd party applications. Change-Id: I7ddc883a7b0cf1891e1ef4a2f6d3989d5e8924ed Signed-off-by: Lajos Molnar <molnar@ti.com> Signed-off-by: Andy Gross <andy.gross@ti.com>
2011-05-31Revert "tiler: avoid lock-ups due to unmapped DMM entries"Sebastien Jan
This reverts commit 70c5e91a7e9ef22ab21afa068cf0b4479700af18. Signed-off-by: Sebastien Jan <s-jan@ti.com>
2011-05-31TILER: Add missing kfree for pointer elementsAndy
Added kfree to match allocation done in fill_page_stack Change-Id: I1d4ca837901c0941880a0dfc2402154b0243f99f Signed-off-by: Andy Gross <andy.gross@ti.com>
2011-05-31TI: TILER: Add support for mapping kernel allocated buffers into TILERLajos Molnar
get_user_pages is not effective for kernel allocated buffers. We fall back to virt2phys() for those. Change-Id: I262996e206a80f7d542deadeae5dd151596560bc Signed-off-by: Lajos Molnar <molnar@ti.com> Signed-off-by: Andy Gross <andy.gross@ti.com>
2011-05-31TI: TILER: Separate virtual to physical mapping into virt2phys() methodLajos Molnar
This will be used by map_block to be able to map kernel allocated buffers. Change-Id: Ic2169e005ad189cb5368fd189a3b30ed3d389594 Signed-off-by: Lajos Molnar <molnar@ti.com> Signed-off-by: Andy Gross <andy.gross@ti.com>
2011-05-31TI: TILER: Fix NULL dereference when mapping kernel buffers with map_blockLajos Molnar
get_user_pages sets page to NULL for kernel allocated buffers, which we dereferenced. This patch fixes this. Change-Id: Ic426912713423187b0d8c3402948db4f93220f69 Signed-off-by: Lajos Molnar <molnar@ti.com> Signed-off-by: Andy Gross <andy.gross@ti.com>
2011-05-31Move large tiler allocs to vmallocAndrew Collins
Change-Id: I18c59a620f9e5aa2aede79605ad0f7c53a144f6c
2011-05-31TILER: Don't declare big table on stackRob Clark
Signed-off-by: Rob Clark <rob@ti.com> Acked-by: Lajos Molnar <molnar@ti.com> Acked-by: David Sin <davidsin@ti.com>
2011-05-26SGX-KM: PVR2DAPI : custom flush operation for wrapped memory regionsEric Luong
This enable custom flush operation for wrapped memory regions Signed-off-by: Gowtham Tammana <g-tammana@ti.com> Signed-off-by: Eric Luong <x0119002@ti.com> Change-Id: Ibe89944e7d34123bc4263c49383af9b4ec195938
2011-05-19NET: smsc95xx: don't use stack for async writes to the deviceMarc Zyngier
The set_multicast operation performs asynchronous writes to the device, with some addresses pointing to the stack. Bad things may happen, and this is trapped CONFIG_DMA_API_DEBUG: [ 5.237762] WARNING: at /build/buildd/linux-linaro-omap-2.6.38/lib/dma-debug.c:867 check_for_stack+0xd4/0x100() [ 5.237792] ehci-omap ehci-omap.0: DMA-API: device driver maps memory fromstack [addr=d9c77dec] [ 5.237792] Modules linked in: smsc95xx(+) usbnet twl6030_usb twl4030_pwrbutton leds_gpio omap_wdt omap2_mcspi [ 5.237854] [<c006d618>] (unwind_backtrace+0x0/0xf8) from [<c00a6a14>] (warn_slowpath_common+0x54/0x64) [ 5.237884] [<c00a6a14>] (warn_slowpath_common+0x54/0x64) from [<c00a6ab8>] (warn_slowpath_fmt+0x30/0x40) [ 5.237915] [<c00a6ab8>] (warn_slowpath_fmt+0x30/0x40) from [<c034e9d8>] (check_for_stack+0xd4/0x100) [ 5.237915] [<c034e9d8>] (check_for_stack+0xd4/0x100) from [<c034fea8>] (debug_dma_map_page+0xb4/0xdc) [ 5.237976] [<c034fea8>] (debug_dma_map_page+0xb4/0xdc) from [<c04242f0>] (map_urb_for_dma+0x26c/0x304) [ 5.237976] [<c04242f0>] (map_urb_for_dma+0x26c/0x304) from [<c0424594>] (usb_hcd_submit_urb+0x78/0x19c) [ 5.238037] [<c0424594>] (usb_hcd_submit_urb+0x78/0x19c) from [<bf049c5c>] (smsc95xx_write_reg_async+0xb4/0x130 [smsc95xx]) [ 5.238067] [<bf049c5c>] (smsc95xx_write_reg_async+0xb4/0x130 [smsc95xx]) from [<bf049dd4>] (smsc95xx_set_multicast+0xfc/0x148 [smsc95xx]) [ 5.238098] [<bf049dd4>] (smsc95xx_set_multicast+0xfc/0x148 [smsc95xx]) from [<bf04a118>] (smsc95xx_reset+0x2f8/0x68c [smsc95xx]) [ 5.238128] [<bf04a118>] (smsc95xx_reset+0x2f8/0x68c [smsc95xx]) from [<bf04a8cc>] (smsc95xx_bind+0xcc/0x188 [smsc95xx]) [ 5.238159] [<bf04a8cc>] (smsc95xx_bind+0xcc/0x188 [smsc95xx]) from [<bf03ef1c>] (usbnet_probe+0x204/0x4c4 [usbnet]) [ 5.238220] [<bf03ef1c>] (usbnet_probe+0x204/0x4c4 [usbnet]) from [<c0429078>] (usb_probe_interface+0xe4/0x1c4) [ 5.238250] [<c0429078>] (usb_probe_interface+0xe4/0x1c4) from [<c03a8770>] (really_probe+0x64/0x160) [ 5.238250] [<c03a8770>] (really_probe+0x64/0x160) from [<c03a8a30>] (driver_probe_device+0x48/0x60) [ 5.238281] [<c03a8a30>] (driver_probe_device+0x48/0x60) from [<c03a8ad4>] (__driver_attach+0x8c/0x90) [ 5.238311] [<c03a8ad4>] (__driver_attach+0x8c/0x90) from [<c03a7b24>] (bus_for_each_dev+0x50/0x7c) [ 5.238311] [<c03a7b24>] (bus_for_each_dev+0x50/0x7c) from [<c03a82ec>] (bus_add_driver+0x190/0x250) [ 5.238311] [<c03a82ec>] (bus_add_driver+0x190/0x250) from [<c03a8cf8>] (driver_register+0x78/0x13c) [ 5.238433] [<c03a8cf8>] (driver_register+0x78/0x13c) from [<c0428040>] (usb_register_driver+0x78/0x13c) [ 5.238464] [<c0428040>] (usb_register_driver+0x78/0x13c) from [<c005b680>] (do_one_initcall+0x34/0x188) [ 5.238494] [<c005b680>] (do_one_initcall+0x34/0x188) from [<c00e11f0>] (sys_init_module+0xb0/0x1c0) [ 5.238525] [<c00e11f0>] (sys_init_module+0xb0/0x1c0) from [<c0065c40>] (ret_fast_syscall+0x0/0x30) Move the two offenders to the private structure which is kmalloc-ed, and thus safe. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Cc: Steve Glendinning <steve.glendinning@smsc.com> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit 3c0f3c605b2572c740f66ea39fe2d125399b20aa)
2011-05-19smsc95xx: generate random MAC address once, not every ifupBernard Blackham
The smsc95xx driver currently generates a new random MAC address every time the interface is brought up. This makes it impossible to override using the standard `ifconfig hw ether` approach. Past patches tried to make the MAC address a module parameter or base it off the die ID, but it seems to me much simpler (and hopefully less controversial) to stick with the current random generation scheme, but allow the user to change the address. This patch does exactly that - it moves the random address generation from smsc95xx_reset() into smsc95xx_bind(), so that it is done once on module load, not on every ifup. The user can then override this using the standard mechanisms. Applies against 2.6.35 and linux-2.6 head. Signed-off-by: Bernard Blackham <b-omap@largestprime.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-05-18UBUNTU: SAUCE: smsc95xx: Add module parameter to override MAC addressSebastien Jan
Define a new module parameter 'macaddr' to override the MAC address fetched either from eeprom, or randomly generated. The expected MAC address shall be in the 01:23:45:67:89:AB format. Signed-off-by: Sebastien Jan <s-jan@ti.com>
2011-05-18SGX-KM: Reduce PB heap to 16M and increase General Heap sizeHemant Hariyani
This patch reduces PB heap size to allow more mapping space in General Heap. Change-Id: I80fe1f3bf014ffbc94a07fd97f9836e20fe80930 Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-12OMAP4: SGX-KM: Changing device name to pvrsrvkm_pvrHemant Hariyani
Changing device name to pvrsrvkm_pvr. Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-12pvr: fixes after rebaseSebastien Jan
Signed-off-by: Sebastien Jan <s-jan@ti.com>
2011-05-12omap_gpu: add support to get display dimensionsRob Clark
For the benefit of displays that do not have an EDID, add support to get the dimensions from the connector. Signed-off-by: Sebastien Jan <s-jan@ti.com>
2011-05-12OMAP4: DSS: Add check for setting x_inc & y_incMayuresh Janorkar
Default value should be assigned to x_inc & y_inc for bpp < 16, only when GFX plane is used. Signed-off-by: Mayuresh Janorkar <mayur@ti.com>
2011-05-12Prototyping of decimation based on Lajos Molnar's work.Frederic Turgis
Decimation constraints/formulas from architecture Signed-off-by: Frederic Turgis <f-turgis@ti.com> Signed-off-by: Xavier Boudet <x-boudet@ti.com> Signed-off-by: Sebastien Jan <s-jan@ti.com>
2011-05-12omap_gpu: mmap support for manual update displaysRob Clark
Use deferred-io mechanism to flush changes from userspace to mmap'd framebuffer to display. This will enable (without panning) support for manual update displays for clients that are expecting writes to mmap'd framebuffer to be reflected on the display.
2011-05-05omap_gpu: fix for NPERob Clark
2011-05-05omap:dss: don't enable alphablender on omap4Rob Clark
Alpha blending is the default behavior with color formats that have an alpha channel. But if the alphablender bits are enabled, that puts DSS in a omap3 legacy mode which disabled z-order.
2011-05-05special hack for androidRob Clark
Android is still using the old pvrsrvkm driver name, and I'm not sure how to rebuild userspace to fix this.. so for now a hack to use the old name..
2011-05-05pvr: restrict visibility of DC devices to corresponding drm_device instanceRob Clark
Associate a handle to display-class devices, so visibility can be restricted to certain drm_device instances. So now, you can build kernel with two drm_device instances, and two corresponding framebuffer instances. And when userspace enumerates the DC devices it will see only the one corresponding to the drm_device that it has opened. So now you can either build the kernel with one drm_device, with the fb possibly spanning multiple independent displays, but acting as a single virtual display. Or with multiple drm_devices acting as multiple independent displays. In either case, when userspace enumerates the display-class devices, they see only a single device corresponding to the single fbdev associated with that drm_device.
2011-05-05pvr: support to register as a plugin for omap_gpu drm driverRob Clark
Includes a new ioctl cmd to re-sync state with display, to properly handle resizing of frame-buffer. Signed-off-by: Sebastien Jan <s-jan@ti.com>
2011-05-05omap_gpu drm display driverRob Clark
A DSS based DRM display driver, which provides a plugin interface for 3d/2d accelerators to register. The core driver handles construction of CRTC/encoder/connectors to represent the hardware, and support KMS. This driver replaces omapfb.. omap_gpu drm driver allocates framebuffer memory and implements (with the help of drm_fb_helper) the legacy fbdev interface. The driver maps CRTCs to overlays, encoders to overlay-managers, and connectors to dssdev's. To set vram on the command-line (bootargs): omapgpu.vram=0:32M (same syntax as omapfb but use omapgpu module name instead) To set default resolution on command-line, use the normal video= line, such as: video=HDMI Type A-1:800x600@60 note: sometimes there is an issue with the hdmi driver overriding the set resolution when it gets a hotplug event and reads the EDID. The hdmi driver will need to be tamed so that it does not override the currently set timings, at least not as long as they are still a valid choice according to the EDID. And of course, to enable debug: drm.debug=7 The omap_gpu drm driver supports using platform_data to configure which omap_gpu devices are assigned which overlays/managers/devices. If multiple devices are registered, each one creates it's own framebuffer and fbdev. This allows for multiple independent display contexts (like with the old omapfb driver) in cases where you don't want to share one virtual framebuffer across multiple displays.
2011-05-05fbops support for framebuffers with alpha channelRob Clark
2011-05-05drm: psuedocolor support for ARGB modesRob Clark
If there is an alpha channel, need to mask in 1's in the alpha channel to prevent the fb from being completely transparent. Signed-off-by: Rob Clark <rob@ti.com>
2011-05-05omap:dss:hdmi: tame hdmi driverRob Clark
Main change is to avoid automatically picking timings. Now the driver defaults to a safe 640x480, and leaves it to the upper layer (drm driver) to pick the desired resolution based on what the user selects and the drm infrastucture's parsing of the EDID. Note: some of this may need to be checked w/ S3D team, and other use cases where android is using the HDMI display.. it is still the correct approach for the HDMI driver to not automatically pick timings, but possibly there needs to be something in userspace to do this if x11 is not running. See the modetest test app coming from libdrm tree.. something like this could be used to set the modeline from userspace.
2011-05-05omap:dss: add is_detected() driver APIRob Clark
The API should return whether the device is detected, and if applicable whether the cable is plugged in. For non-hot-plug devices, it simply means "is the display/panel present". For hot-plug devices it means "is the cable plugged in".
2011-05-05omap:dss: add default get/check timings functionsRob Clark
2011-05-05omap:dss: printk should have \nRob Clark
2011-05-05omap:dss:hdmi: support checking/setting timingsRob Clark
The check_timings() method should check if the provided timings are supported by the driver (because something outside of the hdmi driver might be parsing the EDID and setting different resolution), and fix issues with setting different timings.
2011-05-05omap:dss: add hotplug notify eventsRob Clark
2011-05-05omap:dss: expose API to get edidRob Clark
Rename the existing misnamed get_edid() fxn ptr to dump_edid() to better reflect what it does, and add new fxn ptr (implemented by hdmi driver) to get the raw edid.
2011-05-05tiler: avoid lock-ups due to unmapped DMM entriesRob Clark
Due to the address remapping done for 2d buffers, when a 2d buffer is allocated by userspace, it is possible that only partial pages map to valid physical pages of memory. But the MMU can only protect accesses to invalid addresses on the granualarity of full pages. Which results in the inconvenient situation where access to a perfectly valid address (from the point of view of a userspace process's memory map) can lock up the processor. To protect against this, a single dummy page is allocated at boot time and mapped in to the entire DMM space. When actual buffers are alloc'd, the mapping is replaced with the actual pages allocated for the buffer. And when the actual TILER buffer is freed, the mappings are set back to the dummy page. As a result, there is no longer the need for a clear() function in DMM. Instead the clear operation is simply remapping DMM entries back to the dummy page. As an added advantage, now pages are properly unmapped from DMM when TILER buffers are freed, avoiding the potential to corrupt pages that where previously allocated for TILER buffers.
2011-05-05drm: drm platform multi-device supportHemant Hariyani
Author: Rob Clark <rob@ti.com> Date: Wed Mar 2 12:05:24 2011 -0600 drm platform multi-device support Include the minor device id in the bus-id to give userspace a way to open the correct "cardN" when there are multiple device instances. Change-Id: Ibba237a39e77ceaeda2f954fc6adc47b346e47b7 Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-05OMAP4: SGX-KM: Enable DRM support in SGX DriverHemant Hariyani
This patch enables DRM support in SGX driver. Change-Id: I346589d12ef685a4b33b56842d86fcf8c5fdc718 Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-05OMAP4:SGX-KM: Adding DRM support to 3PDDHemant Hariyani
This patch adds DRM support to 3rd party display driver. As a consequence, omaplfb sysfs entries do not work anymore and need to be reworked. Change-Id: I2af145d15138ee441c3708ec40fb8bea7a9a70bd Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-05OMAP4: SGX-KM: Correct device name for Android kernelHemant Hariyani
Currently, Android kernel uses pvrsrvkm device name.This was being set to omap_gpu and hence DRM initialization fails. Setting SYS_SGX_DEV_NAME correctly to pvrsrvkm. If changed in kernel, this should be changed again. Change-Id: I25ab8ce865ecc19df3398ad2dd05a58a063e0686 Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-05OMAP4: SGX-KM: Fix PVR_BUILD_DATEHemant Hariyani
PVR_BUILD_DATE was not being assigned. This patch fixes it. This is required for DRI/DRM based SGX driver. Change-Id: I6df3b1237b223a392b5c91bfffa4897906b997e8 Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com> Signed-off-by: Sebastien Jan <s-jan@ti.com>
2011-05-05drm: Fix compiler warning in drm_edid.cHemant Hariyani
dev_warn was being called with struct device ** when struct device * was expected. This was resulting in a compiler warning and was potentially incorrect. This patch fixes it. Change-Id: I7302513ca193e5ee5d0ca186ec2f13d515969e32 Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-05drm: Call platform register/unregister for platform drivers.Hemant Hariyani
Subject: [PATCH 5/6] drm: Call platform register/unregister for platform drivers. Signed-off-by: Jeff McGee <j-mcgee@ti.com> Call platform register/unregister for drm platform drivers. Change-Id: I78c5ae456701d700d8794aed2d7fd3cd0ba55fef Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-05drm: Make sure the DRM offset matches the CPUHemant Hariyani
From: Jordan Crouse <jcrouse@codeaurora.org> Date: Wed, 4 Aug 2010 14:48:26 -0600 Subject: [PATCH 4/6] drm: Make sure the DRM offset matches the CPU The pgoff option in mmap() is defined as an unsigned long so the offset generated by DRM needs to fit into BITS_PER_LONG for the CPU in question. Change-Id: I2083125f4bc5b6400af4c702761a357cee9088e5 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org> Signed-off-by: Jeff McGee <j-mcgee@ti.com> Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-05drm: Add __arm defines to DRMHemant Hariyani
From: Jordan Crouse <jcrouse@codeaurora.org> Date: Wed, 4 Aug 2010 14:48:25 -0600 Subject: [PATCH 3/6] drm: Add __arm defines to DRM Add __arm defines to specify behavior specific for an ARM processor. Change-Id: I29c3ed4e5eb0e6b39c01f693c7d32a7cddaa5a85 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org> [j-mcgee@ti.com: correct preprocessor statement exceeding 80 chars] Signed-off-by: Jeff McGee <j-mcgee@ti.com> Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-05drm: Add support for platform devices to register as DRM devicesHemant Hariyani
From: Jordan Crouse <jcrouse@codeaurora.org> Date: Wed, 4 Aug 2010 14:48:24 -0600 Subject: [PATCH 2/6] drm: Add support for platform devices to register as DRM devices Allow platform devices without PCI resources to be DRM devices. Change-Id: Iba9d5cc0dc3930e0f000f3c5614eb61d44425841 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org> [j-mcgee@ti.com: correct assignment-in-if-condition style errors] [j-mcgee@ti.com: fix minor->kdev.parent assignment in drm_sysfs_device_add] Signed-off-by: Jeff McGee <j-mcgee@ti.com> Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-05DRM: Remove drm_resource wrappersHemant Hariyani
From: Jordan Crouse <jcrouse@codeaurora.org> Date: Wed, 4 Aug 2010 14:48:23 -0600 Subject: [PATCH 1/6] drm: Remove drm_resource wrappers Remove the drm_resource wrappers and directly use the actual PCI and/or platform functions in their place. Change-Id: Iad49bfd0c82d42d147140e45a82b5a9c54c9f055 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org> Signed-off-by: Jeff McGee <j-mcgee@ti.com> Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-05OMAP4: SGX-KM: Adding PVR DRM files to Android DDK KM (1.7.17.4403)Hemant Hariyani
These files are required for DRI/DRM based implementation of the SGX driver. Change-Id: I513e31ab8d4c6efdcfb56dde8a485f51576ebeca Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
2011-05-05DSI: TAAL: performance optimization for auto updateSebastien Jan
Inspired by changes brought by commit: commit 8096c18997a48b61f928bd95b07bfa1425ba0d7d Author: Lajos Molnar <molnar@ti.com> OMAP/DSS2/DSI/TAAL: Added performance optimization for manual update Signed-off-by: Sebastien Jan <s-jan@ti.com>
2011-05-05Revert "DSS2: Taal: Remove forced auto update scheme"Sebastien Jan
This reverts commit 20867c201fc1ca9ced2630aeecdec77cc1f66577. Conflicts: drivers/video/omap2/displays/panel-taal.c Signed-off-by: Sebastien Jan <s-jan@ti.com>