dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [Intel-gfx] [RFC 0/7] drm/i915: Convert WARN* to use device-specific variants
@ 2020-01-06 17:23 Pankaj Bharadiya
  2020-01-06 17:23 ` [Intel-gfx] [RFC 1/7] treewide: device: add condition support to dev_WARN Pankaj Bharadiya
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Pankaj Bharadiya @ 2020-01-06 17:23 UTC (permalink / raw)
  To: rodrigo.vivi, irlied, daniel, sudeep.dutt, jani.nikula,
	intel-gfx, dri-devel
  Cc: pankaj.laxminarayan.bharadiya

Device specific dev_WARN and dev_WARN_ONCE macros available in kernel
include device information in the backtrace, so we know what device
the warnings originate from.

Knowing the device specific information in the backtrace would be
helpful in development all around.

This patch series aims to convert calls of WARN(), WARN_ON(),
WARN_ONCE() and WARN_ON_ONCE() to use the device-specific variants
automatically wherever struct device pointer is available. 

To do this, this patch series -
  - modifies the existing dev_WARN macro to support conditional warning
    like WARN so that WARNs can be replaced with dev_WARN
  - add dev_WARN_ON and dev_WARN_ON_ONCE macros device specific macros
    similar to WARN_ON and WARN_ON_ONCE into i915
  - automatically convert WARN* with device specific dev_WARN*
    variants using coccinelle semantic patch scripts.

The goal is to convert all the calls of WARN* with dev_WARN*, but there
are still cases where device pointer is not readily available in some
functions (or I missed them somehow) having warning hence some manual
churning is needed. Handle such remaining cases separately later.


Pankaj Bharadiya (7):
  treewide: device: add condition support to dev_WARN
  drm/i915/i915_utils: add dev_WARN_ON and dev_WARN_ON_ONCE macros
  drm/i915: add helper functions to get device ptr
  drm/i915: Make WARN* device specific where drm_device ptr available
  drm/i915: Make WARN* device specific where drm_priv ptr is available
  drm/i915: Make WARN* device specific where dev_priv can be extracted.
  drm/i915: Make WARN* device specific for various cases.

 arch/x86/platform/intel-mid/pwr.c             |   3 +-
 drivers/base/core.c                           |   2 +-
 drivers/base/dd.c                             |   3 +-
 drivers/dax/bus.c                             |   2 +-
 drivers/dma/dw/core.c                         |   3 +-
 drivers/dma/ioat/init.c                       |   2 +-
 drivers/dma/tegra210-adma.c                   |   6 +-
 drivers/gnss/core.c                           |   2 +-
 drivers/gpu/drm/i915/display/icl_dsi.c        |  14 +-
 drivers/gpu/drm/i915/display/intel_atomic.c   |   8 +-
 drivers/gpu/drm/i915/display/intel_audio.c    |  23 +-
 drivers/gpu/drm/i915/display/intel_bios.c     |  13 +-
 drivers/gpu/drm/i915/display/intel_bw.c       |   3 +-
 drivers/gpu/drm/i915/display/intel_cdclk.c    |  85 +++---
 drivers/gpu/drm/i915/display/intel_color.c    |   4 +-
 .../gpu/drm/i915/display/intel_combo_phy.c    |   3 +-
 .../gpu/drm/i915/display/intel_connector.c    |   3 +-
 drivers/gpu/drm/i915/display/intel_crt.c      |  15 +-
 drivers/gpu/drm/i915/display/intel_ddi.c      | 118 +++++---
 drivers/gpu/drm/i915/display/intel_display.c  | 261 +++++++++++-------
 .../drm/i915/display/intel_display_power.c    | 190 ++++++++-----
 .../drm/i915/display/intel_display_types.h    |  14 +
 drivers/gpu/drm/i915/display/intel_dp.c       | 137 +++++----
 drivers/gpu/drm/i915/display/intel_dp_mst.c   |  10 +-
 drivers/gpu/drm/i915/display/intel_dpio_phy.c |   3 +-
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c |  49 ++--
 drivers/gpu/drm/i915/display/intel_dsb.c      |   9 +-
 .../i915/display/intel_dsi_dcs_backlight.c    |   2 +-
 drivers/gpu/drm/i915/display/intel_dsi_vbt.c  |   5 +-
 drivers/gpu/drm/i915/display/intel_fbc.c      |  30 +-
 drivers/gpu/drm/i915/display/intel_fbdev.c    |  15 +-
 drivers/gpu/drm/i915/display/intel_gmbus.c    |   4 +-
 drivers/gpu/drm/i915/display/intel_hdcp.c     |  26 +-
 drivers/gpu/drm/i915/display/intel_hdmi.c     |  81 +++---
 drivers/gpu/drm/i915/display/intel_hotplug.c  |   8 +-
 .../gpu/drm/i915/display/intel_lpe_audio.c    |   3 +-
 drivers/gpu/drm/i915/display/intel_lvds.c     |   7 +-
 drivers/gpu/drm/i915/display/intel_opregion.c |   8 +-
 drivers/gpu/drm/i915/display/intel_overlay.c  |  23 +-
 drivers/gpu/drm/i915/display/intel_panel.c    |  30 +-
 drivers/gpu/drm/i915/display/intel_pipe_crc.c |   9 +-
 drivers/gpu/drm/i915/display/intel_psr.c      |  38 ++-
 drivers/gpu/drm/i915/display/intel_sdvo.c     |  18 +-
 drivers/gpu/drm/i915/display/intel_sprite.c   |   6 +-
 drivers/gpu/drm/i915/display/intel_tc.c       |  24 +-
 drivers/gpu/drm/i915/display/intel_vdsc.c     |   3 +-
 drivers/gpu/drm/i915/display/vlv_dsi.c        |   3 +-
 .../gpu/drm/i915/gem/i915_gem_execbuffer.c    |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_pm.c        |   3 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c     |   4 +-
 drivers/gpu/drm/i915/gem/i915_gem_shrinker.c  |  15 +-
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c    |  15 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c     |  11 +-
 drivers/gpu/drm/i915/gt/intel_engine_user.c   |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_irq.c        |  15 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c     |   2 +-
 drivers/gpu/drm/i915/gt/intel_mocs.c          |   5 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c           |   3 +-
 .../gpu/drm/i915/gt/intel_ring_submission.c   |   8 +-
 drivers/gpu/drm/i915/gt/intel_rps.c           |  23 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c   |   3 +-
 drivers/gpu/drm/i915/gvt/aperture_gm.c        |   8 +-
 drivers/gpu/drm/i915/gvt/cfg_space.c          |  20 +-
 drivers/gpu/drm/i915/gvt/cmd_parser.c         |   5 +-
 drivers/gpu/drm/i915/gvt/display.c            |   5 +-
 drivers/gpu/drm/i915/gvt/dmabuf.c             |   5 +-
 drivers/gpu/drm/i915/gvt/edid.c               |  14 +-
 drivers/gpu/drm/i915/gvt/gtt.c                |  15 +-
 drivers/gpu/drm/i915/gvt/gvt.c                |   6 +-
 drivers/gpu/drm/i915/gvt/gvt.h                |   5 +
 drivers/gpu/drm/i915/gvt/handlers.c           |  19 +-
 drivers/gpu/drm/i915/gvt/interrupt.c          |  11 +-
 drivers/gpu/drm/i915/gvt/kvmgt.c              |   8 +-
 drivers/gpu/drm/i915/gvt/mmio.c               |  31 ++-
 drivers/gpu/drm/i915/gvt/mmio_context.c       |   7 +-
 drivers/gpu/drm/i915/gvt/scheduler.c          |   5 +-
 drivers/gpu/drm/i915/gvt/vgpu.c               |   5 +-
 drivers/gpu/drm/i915/i915_drv.c               |  23 +-
 drivers/gpu/drm/i915/i915_drv.h               |  11 +
 drivers/gpu/drm/i915/i915_gem.c               |   9 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c           |   7 +-
 drivers/gpu/drm/i915/i915_irq.c               |  95 ++++---
 drivers/gpu/drm/i915/i915_perf.c              |  40 +--
 drivers/gpu/drm/i915/i915_pmu.c               |   9 +-
 drivers/gpu/drm/i915/i915_utils.h             |   8 +
 drivers/gpu/drm/i915/intel_csr.c              |   7 +-
 drivers/gpu/drm/i915/intel_pch.c              |  65 +++--
 drivers/gpu/drm/i915/intel_pm.c               | 101 ++++---
 drivers/gpu/drm/i915/intel_sideband.c         |   9 +-
 drivers/gpu/drm/i915/intel_uncore.c           |  58 ++--
 .../drm/nouveau/include/nvkm/subdev/timer.h   |   2 +-
 drivers/gpu/drm/panfrost/panfrost_mmu.c       |   3 +-
 drivers/gpu/drm/tegra/dc.c                    |   2 +-
 drivers/gpu/drm/tegra/hub.c                   |   7 +-
 drivers/greybus/core.c                        |   3 +-
 drivers/i2c/i2c-core.h                        |   2 +-
 drivers/media/platform/exynos4-is/fimc-is.c   |   2 +-
 drivers/media/platform/exynos4-is/mipi-csis.c |   2 +-
 drivers/nvdimm/label.c                        |   2 +-
 drivers/nvdimm/namespace_devs.c               |   3 +-
 drivers/nvdimm/nd-core.h                      |   2 +-
 drivers/pci/controller/pci-mvebu.c            |   2 +-
 drivers/pci/endpoint/pci-epf-core.c           |   6 +-
 drivers/pci/iov.c                             |   2 +-
 drivers/phy/phy-core.c                        |   2 +-
 drivers/regulator/pbias-regulator.c           |   2 +-
 drivers/scsi/ufs/ufshcd.c                     |   3 +-
 drivers/thunderbolt/ctl.c                     |   2 +-
 drivers/thunderbolt/nhi.c                     |  12 +-
 drivers/thunderbolt/tb.h                      |   2 +-
 drivers/usb/core/urb.c                        |   8 +-
 drivers/usb/dwc3/dwc3-omap.c                  |   4 +-
 drivers/usb/dwc3/ep0.c                        |   2 +-
 drivers/usb/dwc3/gadget.c                     |   6 +-
 drivers/usb/host/uhci-q.c                     |   8 +-
 drivers/usb/typec/tcpm/wcove.c                |   4 +-
 drivers/vfio/vfio.c                           |   4 +-
 include/linux/device.h                        |   6 +-
 118 files changed, 1336 insertions(+), 822 deletions(-)

-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

end of thread, other threads:[~2020-01-09 17:52 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-06 17:23 [Intel-gfx] [RFC 0/7] drm/i915: Convert WARN* to use device-specific variants Pankaj Bharadiya
2020-01-06 17:23 ` [Intel-gfx] [RFC 1/7] treewide: device: add condition support to dev_WARN Pankaj Bharadiya
2020-01-08 11:13   ` Jani Nikula
2020-01-06 17:23 ` [Intel-gfx] [RFC 2/7] drm/i915/i915_utils: add dev_WARN_ON and dev_WARN_ON_ONCE macros Pankaj Bharadiya
2020-01-06 17:23 ` [Intel-gfx] [RFC 3/7] drm/i915: add helper functions to get device ptr Pankaj Bharadiya
2020-01-08 11:17   ` Jani Nikula
2020-01-06 17:23 ` [Intel-gfx] [RFC 4/7] drm/i915: Make WARN* device specific where drm_device ptr available Pankaj Bharadiya
2020-01-06 17:23 ` [Intel-gfx] [RFC 5/7] drm/i915: Make WARN* device specific where drm_priv ptr is available Pankaj Bharadiya
2020-01-08 12:52   ` Jani Nikula
2020-01-09 11:25     ` Bharadiya,Pankaj
2020-01-06 17:23 ` [Intel-gfx] [RFC 6/7] drm/i915: Make WARN* device specific where dev_priv can be extracted Pankaj Bharadiya
2020-01-06 17:23 ` [Intel-gfx] [RFC 7/7] drm/i915: Make WARN* device specific for various cases Pankaj Bharadiya

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).