Message ID | 1356513777-3678-1-git-send-email-yi.sun@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, 26 Dec 2012 17:22:57 +0800 Yi Sun <yi.sun@intel.com> wrote: > It can specify the display when use option '-o'. > E.g. command "./testdiplay -o 1,4" means setting number 4 mode line on the number 1 display. > > v2. Specify the display by id which can be got from option '-i' where? > > Signed-off-by: Yi Sun <yi.sun@intel.com> > > diff --git a/tests/testdisplay.c b/tests/testdisplay.c > index 7287487..7aef940 100644 > --- a/tests/testdisplay.c > +++ b/tests/testdisplay.c > @@ -72,7 +72,7 @@ int dump_info = 0, test_all_modes =0, test_preferred_mode = 0, force_mode = 0, > int sleep_between_modes = 5; > uint32_t depth = 24, stride, bpp; > int qr_code = 0; > -int only_one_mode = 0, specified_mode_num = 0; > +int only_one_mode = 0, specified_mode_num = 0, specified_disp_id = 0; > > drmModeModeInfo force_timing; > > @@ -598,6 +598,9 @@ int update_display(void) > /* Find any connected displays */ > for (c = 0; c < resources->count_connectors; c++) { > connectors[c].id = resources->connectors[c]; > + if ( connectors[c].id != specified_disp_id ) > + continue; > + > set_mode(&connectors[c]); > } > } > @@ -618,7 +621,7 @@ static void __attribute__((noreturn)) usage(char *name) > fprintf(stderr, "\t-m\ttest the preferred mode\n"); > fprintf(stderr, "\t-t\tuse a tiled framebuffer\n"); > fprintf(stderr, "\t-r\tprint a QR code on the screen whose content is \"pass\" for the automatic test\n"); > - fprintf(stderr, "\t-o\t<number of the mode>\tonly test specified mode\n"); > + fprintf(stderr, "\t-o\t<id of the display>,<number of the mode>\tonly test specified mode on the specified display\n"); > fprintf(stderr, "\t-f\t<clock MHz>,<hdisp>,<hsync-start>,<hsync-end>,<htotal>,\n"); > fprintf(stderr, "\t\t<vdisp>,<vsync-start>,<vsync-end>,<vtotal>\n"); > fprintf(stderr, "\t\ttest force mode\n"); > @@ -715,7 +718,7 @@ int main(int argc, char **argv) > break; > case 'o': > only_one_mode = 1; > - specified_mode_num = atoi(optarg); > + sscanf(optarg, "%d,%d", &specified_disp_id, &specified_mode_num); > break; > default: > fprintf(stderr, "unknown option %c\n", c);
Thanks --Sun, Yi > -----Original Message----- > From: Ben Widawsky [mailto:ben@bwidawsk.net] > Sent: Thursday, December 27, 2012 2:56 AM > To: Sun, Yi > Cc: intel-gfx@lists.freedesktop.org > Subject: Re: [Intel-gfx] [PATCH v2] tests/testdisplay: Specify the display. > > On Wed, 26 Dec 2012 17:22:57 +0800 > Yi Sun <yi.sun@intel.com> wrote: > > > It can specify the display when use option '-o'. > > E.g. command "./testdiplay -o 1,4" means setting number 4 mode line on the > number 1 display. > > > > v2. Specify the display by id which can be got from option '-i' > > where? [Sun, Yi] Run ./testdisplay -i , we can got following: Connectors: id encoder status type size (mm) modes 7 0 disconnected VGA 0x0 0 10 0 disconnected HDMI-A 0x0 0 13 0 disconnected DisplayPort 0x0 0 16 0 disconnected HDMI-A 0x0 0 18 17 connected HDMI-A 480x270 31 modes: name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot flags type clock ...... I meant we can specify a display by the connector id which list as the first column. Thanks --Sun, Yi > > > > > Signed-off-by: Yi Sun <yi.sun@intel.com> > > > > diff --git a/tests/testdisplay.c b/tests/testdisplay.c index > > 7287487..7aef940 100644 > > --- a/tests/testdisplay.c > > +++ b/tests/testdisplay.c > > @@ -72,7 +72,7 @@ int dump_info = 0, test_all_modes =0, > > test_preferred_mode = 0, force_mode = 0, int sleep_between_modes = 5; > > uint32_t depth = 24, stride, bpp; int qr_code = 0; -int only_one_mode > > = 0, specified_mode_num = 0; > > +int only_one_mode = 0, specified_mode_num = 0, specified_disp_id = 0; > > > > drmModeModeInfo force_timing; > > > > @@ -598,6 +598,9 @@ int update_display(void) > > /* Find any connected displays */ > > for (c = 0; c < resources->count_connectors; c++) { > > connectors[c].id = resources->connectors[c]; > > + if ( connectors[c].id != specified_disp_id ) > > + continue; > > + > > set_mode(&connectors[c]); > > } > > } > > @@ -618,7 +621,7 @@ static void __attribute__((noreturn)) usage(char > *name) > > fprintf(stderr, "\t-m\ttest the preferred mode\n"); > > fprintf(stderr, "\t-t\tuse a tiled framebuffer\n"); > > fprintf(stderr, "\t-r\tprint a QR code on the screen whose content is > \"pass\" for the automatic test\n"); > > - fprintf(stderr, "\t-o\t<number of the mode>\tonly test specified mode\n"); > > + fprintf(stderr, "\t-o\t<id of the display>,<number of the > > +mode>\tonly test specified mode on the specified display\n"); > > fprintf(stderr, "\t-f\t<clock > MHz>,<hdisp>,<hsync-start>,<hsync-end>,<htotal>,\n"); > > fprintf(stderr, "\t\t<vdisp>,<vsync-start>,<vsync-end>,<vtotal>\n"); > > fprintf(stderr, "\t\ttest force mode\n"); @@ -715,7 +718,7 @@ int > > main(int argc, char **argv) > > break; > > case 'o': > > only_one_mode = 1; > > - specified_mode_num = atoi(optarg); > > + sscanf(optarg, "%d,%d", &specified_disp_id, > &specified_mode_num); > > break; > > default: > > fprintf(stderr, "unknown option %c\n", c); > > > > -- > Ben Widawsky, Intel Open Source Technology Center
On Thu, 27 Dec 2012 01:45:59 +0000 "Sun, Yi" <yi.sun@intel.com> wrote: > > > Thanks > --Sun, Yi Ah, misunderstood the commit message. It looks good to me. Do you have push access? > > > -----Original Message----- > > From: Ben Widawsky [mailto:ben@bwidawsk.net] > > Sent: Thursday, December 27, 2012 2:56 AM > > To: Sun, Yi > > Cc: intel-gfx@lists.freedesktop.org > > Subject: Re: [Intel-gfx] [PATCH v2] tests/testdisplay: Specify the > > display. > > > > On Wed, 26 Dec 2012 17:22:57 +0800 > > Yi Sun <yi.sun@intel.com> wrote: > > > > > It can specify the display when use option '-o'. > > > E.g. command "./testdiplay -o 1,4" means setting number 4 mode > > > line on the > > number 1 display. > > > > > > v2. Specify the display by id which can be got from option '-i' > > > > where? > [Sun, Yi] Run ./testdisplay -i , we can got following: > Connectors: > id encoder status type size (mm) modes > 7 0 disconnected VGA 0x0 0 > 10 0 disconnected HDMI-A 0x0 0 > 13 0 disconnected DisplayPort 0x0 0 > 16 0 disconnected HDMI-A 0x0 0 > 18 17 connected HDMI-A 480x270 31 > modes: > name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot flags type > clock ...... > > I meant we can specify a display by the connector id which list as > the first column. > > Thanks > --Sun, Yi > > > > > > > > > Signed-off-by: Yi Sun <yi.sun@intel.com> > > > > > > diff --git a/tests/testdisplay.c b/tests/testdisplay.c index > > > 7287487..7aef940 100644 > > > --- a/tests/testdisplay.c > > > +++ b/tests/testdisplay.c > > > @@ -72,7 +72,7 @@ int dump_info = 0, test_all_modes =0, > > > test_preferred_mode = 0, force_mode = 0, int sleep_between_modes > > > = 5; uint32_t depth = 24, stride, bpp; int qr_code = 0; -int > > > only_one_mode = 0, specified_mode_num = 0; > > > +int only_one_mode = 0, specified_mode_num = 0, specified_disp_id > > > = 0; > > > > > > drmModeModeInfo force_timing; > > > > > > @@ -598,6 +598,9 @@ int update_display(void) > > > /* Find any connected displays */ > > > for (c = 0; c < resources->count_connectors; > > > c++) { connectors[c].id = resources->connectors[c]; > > > + if ( connectors[c].id != > > > specified_disp_id ) > > > + continue; > > > + > > > set_mode(&connectors[c]); > > > } > > > } > > > @@ -618,7 +621,7 @@ static void __attribute__((noreturn)) > > > usage(char > > *name) > > > fprintf(stderr, "\t-m\ttest the preferred mode\n"); > > > fprintf(stderr, "\t-t\tuse a tiled framebuffer\n"); > > > fprintf(stderr, "\t-r\tprint a QR code on the screen > > > whose content is > > \"pass\" for the automatic test\n"); > > > - fprintf(stderr, "\t-o\t<number of the mode>\tonly test > > > specified mode\n"); > > > + fprintf(stderr, "\t-o\t<id of the display>,<number of the > > > +mode>\tonly test specified mode on the specified display\n"); > > > fprintf(stderr, "\t-f\t<clock > > MHz>,<hdisp>,<hsync-start>,<hsync-end>,<htotal>,\n"); > > > fprintf(stderr, > > > "\t\t<vdisp>,<vsync-start>,<vsync-end>,<vtotal>\n"); > > > fprintf(stderr, "\t\ttest force mode\n"); @@ -715,7 +718,7 @@ int > > > main(int argc, char **argv) break; > > > case 'o': > > > only_one_mode = 1; > > > - specified_mode_num = atoi(optarg); > > > + sscanf(optarg, "%d,%d", > > > &specified_disp_id, > > &specified_mode_num); > > > break; > > > default: > > > fprintf(stderr, "unknown option %c\n", > > > c); > > > > > > > > -- > > Ben Widawsky, Intel Open Source Technology Center
> -----Original Message----- > From: Ben Widawsky [mailto:ben@bwidawsk.net] > Sent: Thursday, December 27, 2012 11:04 AM > To: Sun, Yi > Cc: intel-gfx@lists.freedesktop.org > Subject: Re: [Intel-gfx] [PATCH v2] tests/testdisplay: Specify the display. > > On Thu, 27 Dec 2012 01:45:59 +0000 > "Sun, Yi" <yi.sun@intel.com> wrote: > > > > > > > Thanks > > --Sun, Yi > > Ah, misunderstood the commit message. It looks good to me. Do you have > push access? > [Sun, Yi] Ok, pushed. My first patch pushing. :) Thank Ben for your review. Thanks --Sun, Yi
diff --git a/tests/testdisplay.c b/tests/testdisplay.c index 7287487..7aef940 100644 --- a/tests/testdisplay.c +++ b/tests/testdisplay.c @@ -72,7 +72,7 @@ int dump_info = 0, test_all_modes =0, test_preferred_mode = 0, force_mode = 0, int sleep_between_modes = 5; uint32_t depth = 24, stride, bpp; int qr_code = 0; -int only_one_mode = 0, specified_mode_num = 0; +int only_one_mode = 0, specified_mode_num = 0, specified_disp_id = 0; drmModeModeInfo force_timing; @@ -598,6 +598,9 @@ int update_display(void) /* Find any connected displays */ for (c = 0; c < resources->count_connectors; c++) { connectors[c].id = resources->connectors[c]; + if ( connectors[c].id != specified_disp_id ) + continue; + set_mode(&connectors[c]); } } @@ -618,7 +621,7 @@ static void __attribute__((noreturn)) usage(char *name) fprintf(stderr, "\t-m\ttest the preferred mode\n"); fprintf(stderr, "\t-t\tuse a tiled framebuffer\n"); fprintf(stderr, "\t-r\tprint a QR code on the screen whose content is \"pass\" for the automatic test\n"); - fprintf(stderr, "\t-o\t<number of the mode>\tonly test specified mode\n"); + fprintf(stderr, "\t-o\t<id of the display>,<number of the mode>\tonly test specified mode on the specified display\n"); fprintf(stderr, "\t-f\t<clock MHz>,<hdisp>,<hsync-start>,<hsync-end>,<htotal>,\n"); fprintf(stderr, "\t\t<vdisp>,<vsync-start>,<vsync-end>,<vtotal>\n"); fprintf(stderr, "\t\ttest force mode\n"); @@ -715,7 +718,7 @@ int main(int argc, char **argv) break; case 'o': only_one_mode = 1; - specified_mode_num = atoi(optarg); + sscanf(optarg, "%d,%d", &specified_disp_id, &specified_mode_num); break; default: fprintf(stderr, "unknown option %c\n", c);
It can specify the display when use option '-o'. E.g. command "./testdiplay -o 1,4" means setting number 4 mode line on the number 1 display. v2. Specify the display by id which can be got from option '-i' Signed-off-by: Yi Sun <yi.sun@intel.com>