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:
@@ -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
|
||||
|
Reference in New Issue
Block a user