mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
Pull drm updates from Dave Airlie:
"This is the main drm pull request for 3.10.
Wierd bits:
- OMAP drm changes required OMAP dss changes, in drivers/video, so I
took them in here.
- one more fbcon fix for font handover
- VT switch avoidance in pm code
- scatterlist helpers for gpu drivers - have acks from akpm
Highlights:
- qxl kms driver - driver for the spice qxl virtual GPU
Nouveau:
- fermi/kepler VRAM compression
- GK110/nvf0 modesetting support.
Tegra:
- host1x core merged with 2D engine support
i915:
- vt switchless resume
- more valleyview support
- vblank fixes
- modesetting pipe config rework
radeon:
- UVD engine support
- SI chip tiling support
- GPU registers initialisation from golden values.
exynos:
- device tree changes
- fimc block support
Otherwise:
- bunches of fixes all over the place."
* 'drm-next' of git://people.freedesktop.org/~airlied/linux: (513 commits)
qxl: update to new idr interfaces.
drm/nouveau: fix build with nv50->nvc0
drm/radeon: fix handling of v6 power tables
drm/radeon: clarify family checks in pm table parsing
drm/radeon: consolidate UVD clock programming
drm/radeon: fix UPLL_REF_DIV_MASK definition
radeon: add bo tracking debugfs
drm/radeon: add new richland pci ids
drm/radeon: add some new SI PCI ids
drm/radeon: fix scratch reg handling for UVD fence
drm/radeon: allocate SA bo in the requested domain
drm/radeon: fix possible segfault when parsing pm tables
drm/radeon: fix endian bugs in atom_allocate_fb_scratch()
OMAPDSS: TFP410: return EPROBE_DEFER if the i2c adapter not found
OMAPDSS: VENC: Add error handling for venc_probe_pdata
OMAPDSS: HDMI: Add error handling for hdmi_probe_pdata
OMAPDSS: RFBI: Add error handling for rfbi_probe_pdata
OMAPDSS: DSI: Add error handling for dsi_probe_pdata
OMAPDSS: SDI: Add error handling for sdi_probe_pdata
OMAPDSS: DPI: Add error handling for dpi_probe_pdata
...
This commit is contained in:
commit
20a2078ce7
404 changed files with 29277 additions and 7299 deletions
|
|
@ -501,6 +501,8 @@ struct fb_info {
|
|||
resource_size_t size;
|
||||
} ranges[0];
|
||||
} *apertures;
|
||||
|
||||
bool skip_vt_switch; /* no VT switch on suspend/resume required */
|
||||
};
|
||||
|
||||
static inline struct apertures_struct *alloc_apertures(unsigned int max_num) {
|
||||
|
|
|
|||
|
|
@ -34,6 +34,19 @@
|
|||
extern void (*pm_power_off)(void);
|
||||
extern void (*pm_power_off_prepare)(void);
|
||||
|
||||
struct device; /* we have a circular dep with device.h */
|
||||
#ifdef CONFIG_VT_CONSOLE_SLEEP
|
||||
extern void pm_vt_switch_required(struct device *dev, bool required);
|
||||
extern void pm_vt_switch_unregister(struct device *dev);
|
||||
#else
|
||||
static inline void pm_vt_switch_required(struct device *dev, bool required)
|
||||
{
|
||||
}
|
||||
static inline void pm_vt_switch_unregister(struct device *dev)
|
||||
{
|
||||
}
|
||||
#endif /* CONFIG_VT_CONSOLE_SLEEP */
|
||||
|
||||
/*
|
||||
* Device power management
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -251,13 +251,13 @@ size_t sg_copy_to_buffer(struct scatterlist *sgl, unsigned int nents,
|
|||
* sg page iterator
|
||||
*
|
||||
* Iterates over sg entries page-by-page. On each successful iteration,
|
||||
* @piter->page points to the current page, @piter->sg to the sg holding this
|
||||
* page and @piter->sg_pgoffset to the page's page offset within the sg. The
|
||||
* iteration will stop either when a maximum number of sg entries was reached
|
||||
* or a terminating sg (sg_last(sg) == true) was reached.
|
||||
* you can call sg_page_iter_page(@piter) and sg_page_iter_dma_address(@piter)
|
||||
* to get the current page and its dma address. @piter->sg will point to the
|
||||
* sg holding this page and @piter->sg_pgoffset to the page's page offset
|
||||
* within the sg. The iteration will stop either when a maximum number of sg
|
||||
* entries was reached or a terminating sg (sg_last(sg) == true) was reached.
|
||||
*/
|
||||
struct sg_page_iter {
|
||||
struct page *page; /* current page */
|
||||
struct scatterlist *sg; /* sg holding the page */
|
||||
unsigned int sg_pgoffset; /* page offset within the sg */
|
||||
|
||||
|
|
@ -271,6 +271,24 @@ bool __sg_page_iter_next(struct sg_page_iter *piter);
|
|||
void __sg_page_iter_start(struct sg_page_iter *piter,
|
||||
struct scatterlist *sglist, unsigned int nents,
|
||||
unsigned long pgoffset);
|
||||
/**
|
||||
* sg_page_iter_page - get the current page held by the page iterator
|
||||
* @piter: page iterator holding the page
|
||||
*/
|
||||
static inline struct page *sg_page_iter_page(struct sg_page_iter *piter)
|
||||
{
|
||||
return nth_page(sg_page(piter->sg), piter->sg_pgoffset);
|
||||
}
|
||||
|
||||
/**
|
||||
* sg_page_iter_dma_address - get the dma address of the current page held by
|
||||
* the page iterator.
|
||||
* @piter: page iterator holding the page
|
||||
*/
|
||||
static inline dma_addr_t sg_page_iter_dma_address(struct sg_page_iter *piter)
|
||||
{
|
||||
return sg_dma_address(piter->sg) + (piter->sg_pgoffset << PAGE_SHIFT);
|
||||
}
|
||||
|
||||
/**
|
||||
* for_each_sg_page - iterate over the pages of the given sg list
|
||||
|
|
|
|||
Loading…
Reference in a new issue