How to access a DRM CRTC's scan out buffer?

Peter Teoh htmldeveloper at gmail.com
Thu Jan 16 02:51:14 EST 2014


For ATI GPU the crtc_base could be the base pointer to the memory buffer:

./drivers/gpu/drm/radeon/rv770.c:
u32 rv770_page_flip(struct radeon_device *rdev, int crtc_id, u64 crtc_base)

./drivers/gpu/drm/radeon/rs600.c:
void rs600_pre_page_flip(struct radeon_device *rdev, int crtc)
void rs600_post_page_flip(struct radeon_device *rdev, int crtc)
u32 rs600_page_flip(struct radeon_device *rdev, int crtc_id, u64 crtc_base)

As to the internals of these buffer area, well, u may need the datasheet
from the vendor.   Just grep for "CRTC" inside the gpu/drm/radeon directory
and you can understand why.


On Thu, Jan 16, 2014 at 3:44 PM, Peter Teoh <htmldeveloper at gmail.com> wrote:

> In general how it worked is explained here:
>
> https://www.kernel.org/doc/htmldocs/drm/drm-kms-init.html
>
> Not sure which is the name of your video card, but I think in general all
> the page flip API should have access to the scan buffer (see link above).
> For Intel these are possible APIs
> :
>
>
> static void do_intel_finish_page_flip(struct drm_device *dev,
> void intel_finish_page_flip(struct drm_device *dev, int pipe)
> do_intel_finish_page_flip(dev, crtc);
> void intel_finish_page_flip_plane(struct drm_device *dev, int plane)
> do_intel_finish_page_flip(dev, crtc);
> void intel_prepare_page_flip(struct drm_device *dev, int plane)
>  * is also accompanied by a spurious intel_prepare_page_flip().
> inline static void intel_mark_page_flip_active(struct intel_crtc
> *intel_crtc)
>
>
> On Sat, Jan 11, 2014 at 9:27 PM, Sannu K <sannumail4foss at gmail.com> wrote:
>
>> Hi,
>>
>> I would like to access a monitor's content in kernel mode. I tried but
>> could not find a generic way to access CRTC's scan out buffer in kernel
>> mode. I prefer to do it in kernel mode as an experiment. Any pointers will
>> greatly help.
>>
>> Thanks and Regards,
>> Sannu K
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
>>
>
>
> --
> Regards,
> Peter Teoh
>



-- 
Regards,
Peter Teoh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140116/84303f53/attachment.html 


More information about the Kernelnewbies mailing list