All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/14] drm/i915: Introduce intel_cdclk_state (v2)
@ 2016-12-19 17:28 ville.syrjala
  2016-12-19 17:28 ` [PATCH 01/14] drm/i915: Store the pipe pixel rate in the crtc state ville.syrjala
                   ` (14 more replies)
  0 siblings, 15 replies; 41+ messages in thread
From: ville.syrjala @ 2016-12-19 17:28 UTC (permalink / raw)
  To: intel-gfx; +Cc: Rodrigo Vivi

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Attempt number two. This time it might actually work.

The main change involved actually committing the
correct thing, and comparing against the other correct
thing to know whether we need to commit it.

Full series:
git://github.com/vsyrjala/linux.git cdclk_state_3

Ville Syrjälä (14):
  drm/i915: Store the pipe pixel rate in the crtc state
  drm/i915: Nuke intel_mode_max_pixclk()
  drm/i915: s/get_display_clock_speed/get_cdclk/
  drm/i915: Clean up the .get_cdclk() assignment if ladder
  drm/i915: Move most cdclk/rawclk related code to intel_cdclk.c
  drm/i915: Pass computed vco to bxt_set_cdclk()
  drm/i915: Start moving the cdclk stuff into a distinct state structure
  drm/i915: Track full cdclk state for the logical and actual cdclk
    frequencies
  drm/i915: Pass dev_priv to remainder of the cdclk functions
  drm/i915: Pass the cdclk state to the set_cdclk() functions
  drm/i915: Move PFI credit reprogramming into vlv/chv_set_cdclk()
  drm/i915: Nuke the VLV/CHV PFI programming power domain workaround
  drm/i915: Replace the .modeset_commit_cdclk() hook with a more direct
    .set_cdclk() hook
  drm/i915: Move ilk_pipe_pixel_rate() to intel_display.c

 drivers/gpu/drm/i915/Makefile           |    1 +
 drivers/gpu/drm/i915/i915_debugfs.c     |    2 +-
 drivers/gpu/drm/i915/i915_drv.h         |   30 +-
 drivers/gpu/drm/i915/intel_audio.c      |    2 +-
 drivers/gpu/drm/i915/intel_cdclk.c      | 1767 ++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_display.c    | 2218 ++++---------------------------
 drivers/gpu/drm/i915/intel_dp.c         |    4 +-
 drivers/gpu/drm/i915/intel_drv.h        |   41 +-
 drivers/gpu/drm/i915/intel_fbc.c        |    5 +-
 drivers/gpu/drm/i915/intel_panel.c      |    4 +-
 drivers/gpu/drm/i915/intel_pm.c         |   51 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c |    6 +-
 12 files changed, 2117 insertions(+), 2014 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_cdclk.c

-- 
2.10.2

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

^ permalink raw reply	[flat|nested] 41+ messages in thread
* [PATCH v3 00/14] drm/i915: Introduce intel_cdclk_state (v3)
@ 2017-01-20 18:21 ville.syrjala
  2017-01-20 18:22 ` [PATCH 14/14] drm/i915: Move ilk_pipe_pixel_rate() to intel_display.c ville.syrjala
  0 siblings, 1 reply; 41+ messages in thread
From: ville.syrjala @ 2017-01-20 18:21 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Here's the latest version of my cdclk state work. I tried to accomodate
most of the review feedback, although there were some comments which
I think are better left for a followup work. Mainly about renaming some
functions and whatnot to make more sense, and probably adjusting how
we do the state swap.

On that last point, I left that 'hw' state under dev_priv->cdclk. I think
we should be able to get rid of that if we pass the old cdclk state down
to the code that actually programs the cdlck (since that code wants to
compare the new and current states to see which parts of the programming
are needed).

Another thing I realized recently is that we have no protection against
gmbus or aux vs. cdclk reprogramming. On some platforms/ports gmbus and/or
aux is clock by cdclk, so I think we need to add some protection. Fortunately
both gmbus and aux have their own low level mutexes so I think we should be
able to just grab those around the reprogramming part. Although for this
we might have to keep the 'hw' cdclk state as we'd need to make sure the
gmbus/aux code programs the dividers based on the actual hardware state.

So, there's still some work left, but I think we should be able to move
this forward and hopefully unblock some *future* stuff.

Entire series available here:
git://github.com/vsyrjala/linux.git cdclk_state_4

Ville Syrjälä (14):
  drm/i915: Store the pipe pixel rate in the crtc state
  drm/i915: Nuke intel_mode_max_pixclk()
  drm/i915: s/get_display_clock_speed/get_cdclk/
  drm/i915: Clean up the .get_cdclk() assignment if ladder
  drm/i915: Move most cdclk/rawclk related code to intel_cdclk.c
  drm/i915: Pass computed vco to bxt_set_cdclk()
  drm/i915: Start moving the cdclk stuff into a distinct state structure
  drm/i915: Track full cdclk state for the logical and actual cdclk
    frequencies
  drm/i915: Pass dev_priv to remainder of the cdclk functions
  drm/i915: Pass the cdclk state to the set_cdclk() functions
  drm/i915: Move PFI credit reprogramming into vlv/chv_set_cdclk()
  drm/i915: Nuke the VLV/CHV PFI programming power domain workaround
  drm/i915: Replace the .modeset_commit_cdclk() hook with a more direct
    .set_cdclk() hook
  drm/i915: Move ilk_pipe_pixel_rate() to intel_display.c

 Documentation/gpu/i915.rst              |    9 +
 drivers/gpu/drm/i915/Makefile           |    1 +
 drivers/gpu/drm/i915/i915_debugfs.c     |    2 +-
 drivers/gpu/drm/i915/i915_drv.h         |   37 +-
 drivers/gpu/drm/i915/intel_audio.c      |    2 +-
 drivers/gpu/drm/i915/intel_cdclk.c      | 1867 +++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_display.c    | 1831 ++----------------------------
 drivers/gpu/drm/i915/intel_dp.c         |    4 +-
 drivers/gpu/drm/i915/intel_drv.h        |   43 +-
 drivers/gpu/drm/i915/intel_fbc.c        |    5 +-
 drivers/gpu/drm/i915/intel_panel.c      |    4 +-
 drivers/gpu/drm/i915/intel_pm.c         |   51 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c |    6 +-
 13 files changed, 2042 insertions(+), 1820 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_cdclk.c

-- 
2.10.2

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

^ permalink raw reply	[flat|nested] 41+ messages in thread
* [PATCH 00/14] drm/i915: Introduce intel_cdclk_state
@ 2016-12-19 12:34 ville.syrjala
  2016-12-19 12:35 ` [PATCH 14/14] drm/i915: Move ilk_pipe_pixel_rate() to intel_display.c ville.syrjala
  0 siblings, 1 reply; 41+ messages in thread
From: ville.syrjala @ 2016-12-19 12:34 UTC (permalink / raw)
  To: intel-gfx; +Cc: Rodrigo Vivi

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

This series moves the cdclk tracking to its own state structure.
The main benefit is that we can track both the cdclk and vco in
the same place, and for future platforms we'll need to track
other things as well, so this should make that easier.

I also took the opportunity to lift all the cdclk code into a new
file, shrinking intel_display.c a little bit. And I also decided to
move the rawclk code there as well since it's somewhat related but
small enough to not warrant a file of its own.

I've smoke tested this on skl and vlv.

Entire series available here:
git://github.com/vsyrjala/linux.git cdclk_state_2

Ville Syrjälä (14):
  drm/i915: Store the pipe pixel rate in the crtc state
  drm/i915: Nuke intel_mode_max_pixclk()
  drm/i915: s/get_display_clock_speed/get_cdclk/
  drm/i915: Clean up the .get_cdclk() assignment if ladder
  drm/i915: Move most cdclk/rawclk related code to intel_cdclk.c
  drm/i915: Pass computed vco to bxt_set_cdclk()
  drm/i915: Start moving the cdclk stuff into a distinct state structure
  drm/i915: Track full cdclk state for the logical and actual cdclk
    frequencies
  drm/i915: Pass dev_priv to remainder of the cdclk functions
  drm/i915: Pass the cdclk state to the set_cdclk() functions
  drm/i915: Move PFI credit reprogramming into vlv/chv_set_cdclk()
  drm/i915: Nuke the VLV/CHV PFI programming power domain workaround
  drm/i915: Replace the .modeset_commit_cdclk() hook with a more direct
    .set_cdclk() hook
  drm/i915: Move ilk_pipe_pixel_rate() to intel_display.c

 drivers/gpu/drm/i915/Makefile           |    1 +
 drivers/gpu/drm/i915/i915_debugfs.c     |    2 +-
 drivers/gpu/drm/i915/i915_drv.h         |   30 +-
 drivers/gpu/drm/i915/intel_audio.c      |    2 +-
 drivers/gpu/drm/i915/intel_cdclk.c      | 1757 ++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_display.c    | 2222 ++++---------------------------
 drivers/gpu/drm/i915/intel_dp.c         |    4 +-
 drivers/gpu/drm/i915/intel_drv.h        |   39 +-
 drivers/gpu/drm/i915/intel_fbc.c        |    5 +-
 drivers/gpu/drm/i915/intel_panel.c      |    4 +-
 drivers/gpu/drm/i915/intel_pm.c         |   51 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c |    6 +-
 12 files changed, 2109 insertions(+), 2014 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_cdclk.c

-- 
2.10.2

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

^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2017-01-20 18:22 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-19 17:28 [PATCH v2 00/14] drm/i915: Introduce intel_cdclk_state (v2) ville.syrjala
2016-12-19 17:28 ` [PATCH 01/14] drm/i915: Store the pipe pixel rate in the crtc state ville.syrjala
2016-12-20 13:10   ` Ander Conselvan De Oliveira
2016-12-20 13:29     ` Ville Syrjälä
2017-01-12 20:37       ` Rodrigo Vivi
2017-01-13  9:50         ` Ville Syrjälä
2016-12-19 17:28 ` [PATCH 02/14] drm/i915: Nuke intel_mode_max_pixclk() ville.syrjala
2016-12-20 13:22   ` Ander Conselvan De Oliveira
2016-12-19 17:28 ` [PATCH 03/14] drm/i915: s/get_display_clock_speed/get_cdclk/ ville.syrjala
2016-12-20 13:27   ` Ander Conselvan De Oliveira
2016-12-19 17:28 ` [PATCH 04/14] drm/i915: Clean up the .get_cdclk() assignment if ladder ville.syrjala
2016-12-20 13:42   ` Ander Conselvan De Oliveira
2016-12-19 17:28 ` [PATCH 05/14] drm/i915: Move most cdclk/rawclk related code to intel_cdclk.c ville.syrjala
2016-12-22 13:10   ` Ander Conselvan De Oliveira
2016-12-22 13:16     ` Joonas Lahtinen
2016-12-19 17:28 ` [PATCH 06/14] drm/i915: Pass computed vco to bxt_set_cdclk() ville.syrjala
2016-12-22 13:22   ` Ander Conselvan De Oliveira
2016-12-19 17:28 ` [PATCH v2 07/14] drm/i915: Start moving the cdclk stuff into a distinct state structure ville.syrjala
2016-12-22 14:14   ` Ander Conselvan De Oliveira
2016-12-22 14:33     ` Ville Syrjälä
2016-12-23  9:09       ` Ander Conselvan De Oliveira
2016-12-23 12:27         ` Ville Syrjälä
2016-12-23 13:07           ` Ander Conselvan De Oliveira
2016-12-19 17:28 ` [PATCH v2 08/14] drm/i915: Track full cdclk state for the logical and actual cdclk frequencies ville.syrjala
2016-12-23 11:53   ` Ander Conselvan De Oliveira
2016-12-19 17:28 ` [PATCH v2 09/14] drm/i915: Pass dev_priv to remainder of the cdclk functions ville.syrjala
2016-12-23 12:01   ` Ander Conselvan De Oliveira
2016-12-19 17:28 ` [PATCH v2 10/14] drm/i915: Pass the cdclk state to the set_cdclk() functions ville.syrjala
2016-12-23 13:43   ` Ander Conselvan De Oliveira
2016-12-19 17:28 ` [PATCH 11/14] drm/i915: Move PFI credit reprogramming into vlv/chv_set_cdclk() ville.syrjala
2016-12-23 13:49   ` Ander Conselvan De Oliveira
2016-12-23 14:07     ` Ville Syrjälä
2016-12-19 17:28 ` [PATCH 12/14] drm/i915: Nuke the VLV/CHV PFI programming power domain workaround ville.syrjala
2016-12-23 13:52   ` Ander Conselvan De Oliveira
2016-12-19 17:28 ` [PATCH v2 13/14] drm/i915: Replace the .modeset_commit_cdclk() hook with a more direct .set_cdclk() hook ville.syrjala
2016-12-23 14:03   ` Ander Conselvan De Oliveira
2016-12-19 17:28 ` [PATCH 14/14] drm/i915: Move ilk_pipe_pixel_rate() to intel_display.c ville.syrjala
2016-12-23 14:06   ` Ander Conselvan De Oliveira
2016-12-19 18:15 ` ✓ Fi.CI.BAT: success for drm/i915: Introduce intel_cdclk_state (rev2) Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2017-01-20 18:21 [PATCH v3 00/14] drm/i915: Introduce intel_cdclk_state (v3) ville.syrjala
2017-01-20 18:22 ` [PATCH 14/14] drm/i915: Move ilk_pipe_pixel_rate() to intel_display.c ville.syrjala
2016-12-19 12:34 [PATCH 00/14] drm/i915: Introduce intel_cdclk_state ville.syrjala
2016-12-19 12:35 ` [PATCH 14/14] drm/i915: Move ilk_pipe_pixel_rate() to intel_display.c ville.syrjala

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.