Re: DRM Inquiry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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");
  }

  return 0;
}

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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux