For ATI GPU the crtc_base could be the base pointer to the memory buffer:
--
Regards,
Peter Teoh
./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@xxxxxxxxx> wrote:
In general how it worked is explained here: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@xxxxxxxxx> wrote:
_______________________________________________Sannu KHi,Thanks and Regards,
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.
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
--
Regards,
Peter Teoh
Regards,
Peter Teoh
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies