tests/testdisplay.c: Remove the variable only_one_mode.
authorYi Sun <yi.sun@intel.com>
Tue, 12 Feb 2013 15:11:35 +0000 (23:11 +0800)
committerYi Sun <yi.sun@intel.com>
Wed, 13 Feb 2013 15:00:07 +0000 (23:00 +0800)
That variable is useless, instead the variables specified_mode_num and specified_disp_id can cover all the situation.
For parameter -o, all three instances should work:

./testdisplay -o 21,4 only test the 4th mode on the connector with id 21.
./testdisplay -o 21   test all the mode lines on the connector wiht id 21.
./testdisplay -o ,4   the -o is ignored, just like -a.

Signed-off-by: Yi Sun <yi.sun@intel.com>
tests/testdisplay.c

index f2711ae..4d29ddb 100644 (file)
@@ -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, specified_disp_id = 0;
+int specified_mode_num = -1, specified_disp_id = -1;
 
 drmModeModeInfo force_timing;
 
@@ -278,7 +278,7 @@ static void connector_find_preferred_mode(struct connector *c)
                }
        }
 
-       if ( only_one_mode ){
+       if ( specified_mode_num != -1 ){
                c->mode = connector->modes[specified_mode_num];
                if (c->mode.type & DRM_MODE_TYPE_PREFERRED)
                        c->mode_valid = 1;
@@ -327,7 +327,7 @@ static void connector_find_preferred_mode(struct connector *c)
        c->crtc = resources->crtcs[i];
        c->pipe = i;
 
-       if(test_preferred_mode || force_mode || only_one_mode)
+       if(test_preferred_mode || force_mode || specified_mode_num != -1)
                resources->crtcs[i] = 0;
 
        c->connector = connector;
@@ -594,11 +594,11 @@ int update_display(void)
                dump_crtcs_fd(drm_fd);
        }
 
-       if (test_preferred_mode || test_all_modes || force_mode || only_one_mode) {
+       if (test_preferred_mode || test_all_modes || force_mode || specified_disp_id != -1) {
                /* Find any connected displays */
                for (c = 0; c < resources->count_connectors; c++) {
                        connectors[c].id = resources->connectors[c];
-                       if ( only_one_mode == 1 && connectors[c].id != specified_disp_id )
+                       if ( specified_disp_id != -1 && connectors[c].id != specified_disp_id )
                                continue;
 
                        set_mode(&connectors[c]);
@@ -717,7 +717,6 @@ int main(int argc, char **argv)
                        qr_code = 1;
                        break;
                case 'o':
-                       only_one_mode = 1;
                        sscanf(optarg, "%d,%d", &specified_disp_id, &specified_mode_num);
                        break;
                default:
@@ -729,7 +728,7 @@ int main(int argc, char **argv)
                }
        }
        if (!test_all_modes && !force_mode && !dump_info &&
-           !test_preferred_mode && !only_one_mode)
+           !test_preferred_mode && specified_mode_num == -1)
                test_all_modes = 1;
 
        drm_fd = drm_open_any();