Hi Jani,
I can now see /dev/drm_dp_aux*.
I'm not familiar with dd command.Correct me if I'm wrong.
Possible commands i tried and nothing happen:
dd if=/dev/drm_dp_aux1 seek=723 ibs=2
dd of=/dev/drm_dp_aux1 seek=723 ibs=2
dd if=/dev/drm_dp_aux2 seek=723 ibs=2
dd of=/dev/drm_dp_aux2 seek=723 ibs=2
I assumed I could read the brightness msb and lsb using the define in drm_dp_helper.h.
#define DP_EDP_BACKLIGHT_BRIGHTNESS_MSB 0x722
#define DP_EDP_BACKLIGHT_BRIGHTNESS_LSB 0x723
From here, I was thinking if I could try to open \dev\drm_dp_aux* then read the brightness offset 0x723, though not sure how to proceed with it.
I was able to successfully open \dev\drm_dp_aux1 and \dev\drm_dp_aux2 but I thinking I'm wrong when I proceed to ioctl because they all failed.
#define BRIGHTNESS 0x723
int main(int argc, char ** argv)
{
int fd;
int retcode;
char out[128];
if((fd = open("/dev/drm_dp_aux1",O_RDWR)) >=0)
{
printf("open success");
}
else
{
printf("open failed");
}
if((retcode = ioctl(fd,BRIGHTNESS,&out)) < 0)
{
printf("ioctl failed");
}
else
{
printf("ioctl success");
}
// trying aux2
if((fd = open("/dev/drm_dp_aux2",O_RDWR)) >=0)
{
printf("open success");
}
else
{
printf("open failed");
}
if((retcode = ioctl(fd,BRIGHTNESS,&out)) < 0)
{
printf("ioctl failed");
}
else
{
printf("ioctl success");
}
}
Thanks,
John
On Thursday, May 24, 2018, 8:38:02 PM GMT+8, Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> wrote:
On Thu, 24 May 2018, John Sledge <john_sledget@xxxxxxxxx> wrote:
> I was able to update my kernel to 4.6 which has the DRM_DP_AUX_CHARDEV
> in the Kconfig file linux-4.6\drivers\gpu\drm. Though I also
> add DRM_DP_AUX_CHARDEV=y in kernel config. When invoke uname -r, I
> could see that the kernel is now 4.6.
If you're updating kernels, why not update to a recent kernel that's
actually supported...?
> How can I verify the DRM_DP_AUX_CHARDEV takes effect or got configure
> it correctly?
Boot the kernel, run 'ls /dev/drm_dp_aux*'. If you see stuff, you got it
right.
> It still unclear to me how to follow what you mean by using DRM DP AUX
> interface and getting /dev/drm_dp_auxN node(s) that allows me to read
> and write arbitrary DPCD offsets.
The device is a char device you can open, seek to an offset (which would
be the DPCD offset), and read. For testing, you can achieve the same
using dd.
BR,
Jani.
--
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel
> I was able to update my kernel to 4.6 which has the DRM_DP_AUX_CHARDEV
> in the Kconfig file linux-4.6\drivers\gpu\drm. Though I also
> add DRM_DP_AUX_CHARDEV=y in kernel config. When invoke uname -r, I
> could see that the kernel is now 4.6.
If you're updating kernels, why not update to a recent kernel that's
actually supported...?
> How can I verify the DRM_DP_AUX_CHARDEV takes effect or got configure
> it correctly?
Boot the kernel, run 'ls /dev/drm_dp_aux*'. If you see stuff, you got it
right.
> It still unclear to me how to follow what you mean by using DRM DP AUX
> interface and getting /dev/drm_dp_auxN node(s) that allows me to read
> and write arbitrary DPCD offsets.
The device is a char device you can open, seek to an offset (which would
be the DPCD offset), and read. For testing, you can achieve the same
using dd.
BR,
Jani.
--
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel