summaryrefslogtreecommitdiff
path: root/lib/intel_mmio.c
AgeCommit message (Collapse)Author
2019-03-29Revert "lib/igt_device: Move intel_get_pci_device under igt_device"Ville Syrjälä
One significant usecase for intel_reg/etc. is to be able to examine the hardware state *before* loading the driver. If the tool forces the driver to load we've totally lost that capability. This reverts commit 8ae86621d6fff60b6e20c6b0f9b336785c935b0f. Cc: Michał Winiarski <michal.winiarski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Acked-by: Jani Nikula <jani.nikula@intel.com> Acked-by: Michał Winiarski <michal.winiarski@intel.com>
2019-03-20lib/igt_device: Move intel_get_pci_device under igt_deviceMichał Winiarski
It allows us to make things a little bit more generic. Also, we now require fd rather than doing guesswork when it comes to pci address. v2: Use readlinkat rather than string concat, move stuff around, provide a version that does not assert. (Chris) v3: Print addr on failure, avoid assignment in conditionals. (Chris) Signed-off-by: Michał Winiarski <michal.winiarski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-05-16igt: Drop Intel from the name in docs and pathsArkadiusz Hiler
This is just a simple change to reflect the actual state. No rewording yet, just a simple substitution in most visible places - docs, README and paths. There are probably some leftovers here and there, but we can let them be for now, this is already well overdue. v2: fixed couple of obvious leftovers pointed out by Petri Cc: Petri Latvala <petri.latvala@intel.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-03-21Restore "lib: Open debugfs files for the given DRM device"Chris Wilson
This reverts commit 25fbae15262cf570e207e62f50e7c5233e06bc67, restoring commit 301ad44cdf1b868b1ab89096721da91fa8541fdc Author: Tomeu Vizoso <tomeu.vizoso@collabora.com> Date: Thu Mar 2 10:37:11 2017 +0100 lib: Open debugfs files for the given DRM device with fixes. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-21Revert "lib: Open debugfs files for the given DRM device"Tomeu Vizoso
This reverts commit 301ad44cdf1b868b1ab89096721da91fa8541fdc. When a render-only device is opened and gem_quiescent_gpu is called, we need to use the debugfs dir for the master device instead. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
2017-03-21lib: Open debugfs files for the given DRM deviceTomeu Vizoso
When opening a DRM debugfs file, locate the right path based on the given DRM device FD. This is needed so, in setups with more than one DRM device, any operations on debugfs files affect the expected DRM device. v2: - rebased and fixed new API additions v3: - updated chamelium test, which was missed previously - use the minor of the device for the debugfs path, not the major - have a proper exit handler for calling igt_hpd_storm_reset with the right device fd. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by: Robert Foss <robert.foss@collabora.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-09-08lib: various documentation fixesThomas Wood
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-07-02docs: various documentation fixesThomas Wood
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-07-02docs: override section id to avoid '/' in filenamesThomas Wood
The section id is generated from the section title and is used to create the html output filename, which therefore causes problems if it includes a '/' character. Cc: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-06-27docs: Fix a "libraray" typoDamien Lespiau
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2015-06-27doc: Remove i-g-t/intel prefixes and capitalize section titlesDamien Lespiau
Looks better! Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2015-05-06lib/mmio: One more s/OUTRET/OUTREG/Daniel Vetter
A those typos ... Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-05-05rename global mmio variable to igt_global_mmioJani Nikula
Global variable names should reflect the fact that they are indeed global, and at the very least they should not be as short as just "mmio". Rename mmio to igt_global_mmio. Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2015-05-05lib: add 16 and 8 bit versions of INREG and OUTREGJani Nikula
Add INREG8, INREG16, OUTREG8, and OUTREG16. While at it, cleanup doc comments of INREG and OUTREG. Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2015-02-13lib/igt_gt: Document and consolidateDaniel Vetter
Also move forcewake and stop_rings code from igt_debugfs to igt_gt since it fits better. And move the hang injection fork helpers from igt_aux to igt_gt, too. Also push the intel_gen call into igt_hang_ring while at it. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2014-09-30doc: various spelling and typo fixesThomas Wood
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-08-26lib/intel_* Use igt checks and macrosDaniel Vetter
Various stuff all over. Most done with the igt.cocci spatch, but with a few fixups by hand. And add igt_core.h includes where needed. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-23lib: Use @include tag for include filesDaniel Vetter
Occasionally useful to read documentation ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib/intel_io: api documentationDaniel Vetter
As usual de-inline functions for gtkdoc to see them. I've decided to exclude the register map stuff since that's not terribly interesting. Aside: gtkdoc falls over when the title of a section contains a slash, hence why it reads "IO" instead of "I/O". The fun ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib/intel_io: rename mmio setup functionsDaniel Vetter
Makes their intent a bit clearer. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib: rename intel_gpu_tools.h to intel_io.hDaniel Vetter
With the header cleanup we can now give this header a suitable name, since it now really only contains register access and other I/O functions and assorted definitions. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib: remove uncessary #includes from headersDaniel Vetter
Only include what the header itself needs. The big fish here is intel-gpu-tools.h. More will follow. One ugly thing removed here is the duplicated GEN6_TD_CTL #define, one of which was broken. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-14lib: extract igt_open_forcewake_handleDaniel Vetter
... and I immediately regret that I've killed the return value for igt_debugfs_init, since we have callers which need to work without the forcewake stuff, e.g. the reg dumper needs to work without i915 loaded. Put this new helper to good use in the mmio code and the pm_pc8 testcase. Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-28mmio: drop unused i915_loaded fnJesse Barnes
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2014-01-27mmio: allow register init even if debugfs isn't available and i915 isn't loadedJesse Barnes
This lets us dump regs even if modeset=0 for example. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2013-08-12lib/intel_mmio: Remove unused labelDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-07-27lib/intel_mmio: Fix the fixed fix (register access)Ben Widawsky
When I moved code around here: commit 57bc7631e161a7bdcf7f68e1a46049dcb49c2256 Author: Ben Widawsky <ben@bwidawsk.net> Date: Thu May 23 11:09:55 2013 -0700 lib/intel_mmio: Fix the fix I accidently dropped the intel_gen() for the PCI id. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67289 Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-05-23lib/intel_mmio: Fix the fixBen Widawsky
commit 16e44f5499e1754dfb10fc62b22675f5aa6ac781 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Wed Apr 3 00:22:41 2013 +0200 lib: fixup register access on gen2/3 THis fix was incorrect for a few reasons: 1. It didn't reflect the state in mmio_data.safe 2. It skipped forcewake on gen6+ which is both incorrect and unnecessary (for gen<6). 3. It had 2 goto done, the second of which was impossible to hit. Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-04-26intel_mmio: Add intel_register_access_needs_fakewakeBen Widawsky
I screwed this up in my recent patch: commit c7b6ec50007e2e524a208572c34faf1380eeab1b Author: Ben Widawsky <ben@bwidawsk.net> Date: Wed Apr 24 19:05:18 2013 -0700 clean warnings: Silence unused (or private) functions I've clarified the functions now, and added the proper call from the python script. Time to get a regression tester for our tools? Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-04-24clean warnings: Silence unused (or private) functionsBen Widawsky
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-04-16intel_mmio: a query for forcewake requirementBen Widawsky
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-04-16intel_mmio: Allow mmio without debugfsBen Widawsky
With the introduction of the forcewake dance: commit cac8f8b52621f246a7cff412f340a7db28cb1b99 Author: Ben Widawsky <ben@bwidawsk.net> Date: Thu Jul 28 13:40:19 2011 -0700 forcewake: Add mmio code to do proper forcewake stuff for gen6 We lost the ability to do register access when either debugfs isn't mounted, or when the driver isn't loaded. The latter can be beneficial in debugging situations. This patch will allow the driver to still do mmio (leaving forcewake management up to the callers) provided that the i915 driver appears to not be loaded (according to sysfs) Requested by Jesse. Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-04-03lib: fixup register access on gen2/3Daniel Vetter
This wreaked havoc with intel_reg_dumper since it's been broken in commit c6fe31bc473a7ae44bc42bad7da5faca3c924821 Author: Eugeni Dodonov <eugeni.dodonov@intel.com> Date: Thu Jun 21 14:31:34 2012 -0300 intel_reg_dumper: use intel_register_access_init/fini Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-10-12lib/mmio: gen2 has a bigger register window, tooDaniel Vetter
It's split up into two parts, with the gtt pte range in between. Without this I couldn't read the ADPA register ...
2012-08-27mmio: Limit the uc- mapping to only map the registersChris Wilson
In the future, we may like to enable wc mapping of at least the GATT, and so causing a conflict if we attempt to map the entire bar as uc- here. Obviously we need a better fallback plan, but for the moment only attempt to map the portion of the pci space that we use for register access. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-02-11Remove pointless Android ifdefs for sys/fcntl.h.Kenneth Graunke
On my system, sys/fcntl.h contains exactly one line: #include <fcntl.h> So there's really no need to #ifdef it. Also, intel_mmio.c already included <fcntl.h>; there's no need to include it twice. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-02-10Added support for AndroidSateesh Kavuri
Added the Android.mk file as per Android make system. Also had to modify the headers with the proper location for fcntl.h as per the Android bionic headers location Signed-off-by: Sateesh Kavuri <sateesh.kavuri@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-25mmio: refactor reg init/finiBen Widawsky
Rearrange register access init and fini so that we properly accomodate platforms without forcewake. Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-01-24lib: forcewake is gen6+Daniel Vetter
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-09lib: fixup new compiler warningsDaniel Vetter
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-08include <fcntl.h> in lib/intel_mmio.c for open() prototype on SolarisAlan Coopersmith
<fcntl.h> is the POSIX standard specified header for open(), so should be available on all platforms. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-07-28intel-gpu-tools/range handling: register range handlingBen Widawsky
Hooks to allow safe accesses from userspace. Can revert to old behavior by using unsafe access.
2011-07-28forcewake: Add mmio code to do proper forcewake stuff for gen6Ben Widawsky
2011-02-14Remove confusing use of IS_9XXChris Wilson
... and test for what we mean instead. Reported-by: Diego Celix <dcelix@gmail.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-04-08Enable compilation on non-Intel, non-DRM systems.Chris Wilson
A few of the tools can be performed post-mortem from a different system, so it is useful to be able to compile those tools on those foreign systems. Obviously, any program to interact with the PCI device or talk to GEM will fail on a non-Intel system. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>