Op 21-08-18 om 10:38 schreef Mahesh Kumar: > This patch implements a callback function which will be called before > crc read. In this function driver can implement any preparation work > required for successfully reading CRC data. > > Changes Since V1: > - rebase > > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Signed-off-by: Mahesh Kumar <mahesh1.kumar@xxxxxxxxx> After some discussion with David on whether this can be upstreamed, he NACK'd it. Because there are no upstream users for this callback, it cannot be included upstream. It would be removed by the first person to notice there are no in-kernel users using it. For the first 3 patches: Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > drivers/gpu/drm/drm_debugfs_crc.c | 8 ++++++++ > include/drm/drm_crtc.h | 14 ++++++++++++++ > 2 files changed, 22 insertions(+) > > diff --git a/drivers/gpu/drm/drm_debugfs_crc.c b/drivers/gpu/drm/drm_debugfs_crc.c > index 00e743153e94..e303c194c080 100644 > --- a/drivers/gpu/drm/drm_debugfs_crc.c > +++ b/drivers/gpu/drm/drm_debugfs_crc.c > @@ -274,6 +274,14 @@ static ssize_t crtc_crc_read(struct file *filep, char __user *user_buf, > return 0; > } > > + if (crtc->funcs->pre_crc_read) { > + ret = crtc->funcs->pre_crc_read(crtc); > + if (ret) { > + spin_unlock_irq(&crc->lock); > + return ret; > + } > + } > + > /* Nothing to read? */ > while (crtc_crc_data_count(crc) == 0) { > if (filep->f_flags & O_NONBLOCK) { > diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h > index b21437bc95bf..19c2bf63935e 100644 > --- a/include/drm/drm_crtc.h > +++ b/include/drm/drm_crtc.h > @@ -761,6 +761,20 @@ struct drm_crtc_funcs { > */ > int (*verify_crc_source)(struct drm_crtc *crtc, const char *source, > size_t *values_cnt); > + /** > + * @pre_crc_read: > + * > + * Driver callback for performing any preparation work required by > + * driver before reading CRC > + * > + * This callback is optional if the driver does not support CRC > + * generation or no prework is required before reading the crc > + * > + * RETURNS: > + * > + * 0 on success or a negative error code on failure. > + */ > + int (*pre_crc_read)(struct drm_crtc *crtc); > /** > * @get_crc_sources: > * _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel