diff options
Diffstat (limited to 'src/sna')
-rw-r--r-- | src/sna/sna.h | 1 | ||||
-rw-r--r-- | src/sna/sna_display.c | 59 | ||||
-rw-r--r-- | src/sna/sna_driver.c | 9 |
3 files changed, 2 insertions, 67 deletions
diff --git a/src/sna/sna.h b/src/sna/sna.h index 29d08a9b..f08f4d23 100644 --- a/src/sna/sna.h +++ b/src/sna/sna.h @@ -458,7 +458,6 @@ struct sna { bool sna_mode_pre_init(ScrnInfoPtr scrn, struct sna *sna); bool sna_mode_fake_init(struct sna *sna, int num_fake); -bool sna_mode_wants_tear_free(struct sna *sna); void sna_mode_adjust_frame(struct sna *sna, int x, int y); extern void sna_mode_discover(struct sna *sna, bool tell); extern void sna_mode_check(struct sna *sna); diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c index a26f4906..15df51f6 100644 --- a/src/sna/sna_display.c +++ b/src/sna/sna_display.c @@ -7949,65 +7949,6 @@ bool sna_mode_pre_init(ScrnInfoPtr scrn, struct sna *sna) return scrn->modes != NULL; } -bool -sna_mode_wants_tear_free(struct sna *sna) -{ - xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(sna->scrn); - bool found = false; - FILE *file; - int i; - - file = fopen("/sys/module/i915/parameters/enable_fbc", "r"); - if (file) { - int fbc_enabled = 0; - int value; - - if (fscanf(file, "%d", &value) == 1) - fbc_enabled = value > 0; - fclose(file); - - DBG(("%s: module parameter 'enable_fbc' enabled? %d\n", - __FUNCTION__, fbc_enabled)); - - if (fbc_enabled) - return true; - } - - for (i = 0; i < sna->mode.num_real_output; i++) { - struct sna_output *output = to_sna_output(config->output[i]); - int id = find_property(sna, output, "Panel Self-Refresh"); - if (id == -1) - continue; - - found = true; - if (output->prop_values[id] != -1) { - DBG(("%s: Panel Self-Refresh detected on %s\n", - __FUNCTION__, config->output[i]->name)); - return true; - } - } - - if (!found) { - file = fopen("/sys/module/i915/parameters/enable_psr", "r"); - if (file) { - int psr_enabled = 0; - int value; - - if (fscanf(file, "%d", &value) == 1) - psr_enabled = value > 0; - fclose(file); - - DBG(("%s: module parameter 'enable_psr' enabled? %d\n", - __FUNCTION__, psr_enabled)); - - if (psr_enabled) - return true; - } - } - - return false; -} - void sna_mode_set_primary(struct sna *sna) { diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c index b0e16833..137f29e8 100644 --- a/src/sna/sna_driver.c +++ b/src/sna/sna_driver.c @@ -470,12 +470,7 @@ static bool enable_tear_free(struct sna *sna) if (sna->kgem.has_full_ppgtt) return true; - /* - * Under certain conditions, we should enable TearFree by default, - * for example when the hardware requires pageflipping to run within - * its power/performance budget. - */ - if (sna_mode_wants_tear_free(sna)) + if (!sna->kgem.has_dirtyfb) return true; return ENABLE_TEAR_FREE; @@ -675,7 +670,7 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int probe) } scrn->currentMode = scrn->modes; - if (!setup_tear_free(sna) && sna_mode_wants_tear_free(sna)) + if (!setup_tear_free(sna)) sna->kgem.needs_dirtyfb = sna->kgem.has_dirtyfb; xf86SetGamma(scrn, zeros); |