diff mbox

quick_dump: Fix the danvet fallout.

Message ID 1395772731-3909-1-git-send-email-benjamin.widawsky@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ben Widawsky March 25, 2014, 6:38 p.m. UTC
quick_dump built fine, but it could actually run, since a lot of the
linking happens at run time. There is one hack where we redefine the
environment stuff, since depending on igt_aux means we have to pull in
libdrm, which I do not want to do.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
---
 tools/quick_dump/Makefile.am          |  2 ++
 tools/quick_dump/chipset.i            |  5 +++--
 tools/quick_dump/chipset_macro_wrap.c | 14 ++++++++++++++
 3 files changed, 19 insertions(+), 2 deletions(-)

Comments

Daniel Vetter March 25, 2014, 7:47 p.m. UTC | #1
On Tue, Mar 25, 2014 at 11:38:51AM -0700, Ben Widawsky wrote:
> quick_dump built fine, but it could actually run, since a lot of the
> linking happens at run time. There is one hack where we redefine the
> environment stuff, since depending on igt_aux means we have to pull in
> libdrm, which I do not want to do.

Why? libdrm is kinda something we need anyway ...
-Daniel

> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
> ---
>  tools/quick_dump/Makefile.am          |  2 ++
>  tools/quick_dump/chipset.i            |  5 +++--
>  tools/quick_dump/chipset_macro_wrap.c | 14 ++++++++++++++
>  3 files changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/quick_dump/Makefile.am b/tools/quick_dump/Makefile.am
> index 7572ee5..ca26993 100644
> --- a/tools/quick_dump/Makefile.am
> +++ b/tools/quick_dump/Makefile.am
> @@ -8,6 +8,8 @@ bin_SCRIPTS = chipset.py
>  lib_LTLIBRARIES = I915ChipsetPython.la
>  I915ChipsetPython_la_LDFLAGS = -module -avoid-version $(PYTHON_LDFLAGS) $(PCIACCESS_LIBS)
>  I915ChipsetPython_la_SOURCES = chipset_wrap_python.c chipset_macro_wrap.c \
> +			       $(top_srcdir)/lib/igt_core.c  \
> +			       $(top_srcdir)/lib/igt_debugfs.c  \
>  			       $(top_srcdir)/lib/intel_os.c  \
>  			       $(top_srcdir)/lib/intel_chipset.c  \
>  			       $(top_srcdir)/lib/intel_reg_map.c  \
> diff --git a/tools/quick_dump/chipset.i b/tools/quick_dump/chipset.i
> index 395418e..ae176e8 100644
> --- a/tools/quick_dump/chipset.i
> +++ b/tools/quick_dump/chipset.i
> @@ -4,6 +4,7 @@
>  #include <pciaccess.h>
>  #include <stdint.h>
>  #include "intel_chipset.h"
> +#include "intel_io.h"
>  extern int is_sandybridge(unsigned short pciid);
>  extern int is_ivybridge(unsigned short pciid);
>  extern int is_valleyview(unsigned short pciid);
> @@ -12,7 +13,7 @@ extern int is_broadwell(unsigned short pciid);
>  extern struct pci_device *intel_get_pci_device();
>  extern int intel_register_access_init(struct pci_device *pci_dev, int safe);
>  extern uint32_t intel_register_read(uint32_t reg);
> -extern uint32_t intel_register_write(uint32_t reg, uint32_t val);
> +extern void intel_register_write(uint32_t reg, uint32_t val);
>  extern void intel_register_access_fini();
>  extern int intel_register_access_needs_fakewake();
>  extern unsigned short pcidev_to_devid(struct pci_device *pci_dev);
> @@ -27,7 +28,7 @@ extern int is_broadwell(unsigned short pciid);
>  extern struct pci_device *intel_get_pci_device();
>  extern int intel_register_access_init(struct pci_device *pci_dev, int safe);
>  extern uint32_t intel_register_read(uint32_t reg);
> -extern uint32_t intel_register_write(uint32_t reg, uint32_t val);
> +extern void intel_register_write(uint32_t reg, uint32_t val);
>  extern void intel_register_access_fini();
>  extern int intel_register_access_needs_fakewake();
>  extern unsigned short pcidev_to_devid(struct pci_device *pci_dev);
> diff --git a/tools/quick_dump/chipset_macro_wrap.c b/tools/quick_dump/chipset_macro_wrap.c
> index 392b85e..ee79777 100644
> --- a/tools/quick_dump/chipset_macro_wrap.c
> +++ b/tools/quick_dump/chipset_macro_wrap.c
> @@ -1,3 +1,5 @@
> +#include <stdbool.h>
> +#include <stdlib.h>
>  #include <pciaccess.h>
>  #include "intel_chipset.h"
>  
> @@ -31,3 +33,15 @@ unsigned short pcidev_to_devid(struct pci_device *pdev)
>  {
>  	return pdev->device_id;
>  }
> +
> +bool igt_check_boolean_env_var(const char *env_var, bool default_value)
> +{
> +	char *val;
> +
> +	val = getenv(env_var);
> +	if (!val)
> +		return default_value;
> +
> +	return atoi(val) != 0;
> +}
> +
> -- 
> 1.9.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Ben Widawsky March 25, 2014, 10:16 p.m. UTC | #2
On Tue, Mar 25, 2014 at 08:47:47PM +0100, Daniel Vetter wrote:
> On Tue, Mar 25, 2014 at 11:38:51AM -0700, Ben Widawsky wrote:
> > quick_dump built fine, but it could actually run, since a lot of the
> > linking happens at run time. There is one hack where we redefine the
> > environment stuff, since depending on igt_aux means we have to pull in
> > libdrm, which I do not want to do.
> 
> Why? libdrm is kinda something we need anyway ...
> -Daniel

The goal is to keep the dumper's dependencies and functionality to a
bare minimum. We absolutely should not need libdrm for register dumps.
If you want to do fancy stuff post process that requires libdrm, that's
another thing.

> 
> > 
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
> > ---
> >  tools/quick_dump/Makefile.am          |  2 ++
> >  tools/quick_dump/chipset.i            |  5 +++--
> >  tools/quick_dump/chipset_macro_wrap.c | 14 ++++++++++++++
> >  3 files changed, 19 insertions(+), 2 deletions(-)
> > 
> > diff --git a/tools/quick_dump/Makefile.am b/tools/quick_dump/Makefile.am
> > index 7572ee5..ca26993 100644
> > --- a/tools/quick_dump/Makefile.am
> > +++ b/tools/quick_dump/Makefile.am
> > @@ -8,6 +8,8 @@ bin_SCRIPTS = chipset.py
> >  lib_LTLIBRARIES = I915ChipsetPython.la
> >  I915ChipsetPython_la_LDFLAGS = -module -avoid-version $(PYTHON_LDFLAGS) $(PCIACCESS_LIBS)
> >  I915ChipsetPython_la_SOURCES = chipset_wrap_python.c chipset_macro_wrap.c \
> > +			       $(top_srcdir)/lib/igt_core.c  \
> > +			       $(top_srcdir)/lib/igt_debugfs.c  \
> >  			       $(top_srcdir)/lib/intel_os.c  \
> >  			       $(top_srcdir)/lib/intel_chipset.c  \
> >  			       $(top_srcdir)/lib/intel_reg_map.c  \
> > diff --git a/tools/quick_dump/chipset.i b/tools/quick_dump/chipset.i
> > index 395418e..ae176e8 100644
> > --- a/tools/quick_dump/chipset.i
> > +++ b/tools/quick_dump/chipset.i
> > @@ -4,6 +4,7 @@
> >  #include <pciaccess.h>
> >  #include <stdint.h>
> >  #include "intel_chipset.h"
> > +#include "intel_io.h"
> >  extern int is_sandybridge(unsigned short pciid);
> >  extern int is_ivybridge(unsigned short pciid);
> >  extern int is_valleyview(unsigned short pciid);
> > @@ -12,7 +13,7 @@ extern int is_broadwell(unsigned short pciid);
> >  extern struct pci_device *intel_get_pci_device();
> >  extern int intel_register_access_init(struct pci_device *pci_dev, int safe);
> >  extern uint32_t intel_register_read(uint32_t reg);
> > -extern uint32_t intel_register_write(uint32_t reg, uint32_t val);
> > +extern void intel_register_write(uint32_t reg, uint32_t val);
> >  extern void intel_register_access_fini();
> >  extern int intel_register_access_needs_fakewake();
> >  extern unsigned short pcidev_to_devid(struct pci_device *pci_dev);
> > @@ -27,7 +28,7 @@ extern int is_broadwell(unsigned short pciid);
> >  extern struct pci_device *intel_get_pci_device();
> >  extern int intel_register_access_init(struct pci_device *pci_dev, int safe);
> >  extern uint32_t intel_register_read(uint32_t reg);
> > -extern uint32_t intel_register_write(uint32_t reg, uint32_t val);
> > +extern void intel_register_write(uint32_t reg, uint32_t val);
> >  extern void intel_register_access_fini();
> >  extern int intel_register_access_needs_fakewake();
> >  extern unsigned short pcidev_to_devid(struct pci_device *pci_dev);
> > diff --git a/tools/quick_dump/chipset_macro_wrap.c b/tools/quick_dump/chipset_macro_wrap.c
> > index 392b85e..ee79777 100644
> > --- a/tools/quick_dump/chipset_macro_wrap.c
> > +++ b/tools/quick_dump/chipset_macro_wrap.c
> > @@ -1,3 +1,5 @@
> > +#include <stdbool.h>
> > +#include <stdlib.h>
> >  #include <pciaccess.h>
> >  #include "intel_chipset.h"
> >  
> > @@ -31,3 +33,15 @@ unsigned short pcidev_to_devid(struct pci_device *pdev)
> >  {
> >  	return pdev->device_id;
> >  }
> > +
> > +bool igt_check_boolean_env_var(const char *env_var, bool default_value)
> > +{
> > +	char *val;
> > +
> > +	val = getenv(env_var);
> > +	if (!val)
> > +		return default_value;
> > +
> > +	return atoi(val) != 0;
> > +}
> > +
> > -- 
> > 1.9.1
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
diff mbox

Patch

diff --git a/tools/quick_dump/Makefile.am b/tools/quick_dump/Makefile.am
index 7572ee5..ca26993 100644
--- a/tools/quick_dump/Makefile.am
+++ b/tools/quick_dump/Makefile.am
@@ -8,6 +8,8 @@  bin_SCRIPTS = chipset.py
 lib_LTLIBRARIES = I915ChipsetPython.la
 I915ChipsetPython_la_LDFLAGS = -module -avoid-version $(PYTHON_LDFLAGS) $(PCIACCESS_LIBS)
 I915ChipsetPython_la_SOURCES = chipset_wrap_python.c chipset_macro_wrap.c \
+			       $(top_srcdir)/lib/igt_core.c  \
+			       $(top_srcdir)/lib/igt_debugfs.c  \
 			       $(top_srcdir)/lib/intel_os.c  \
 			       $(top_srcdir)/lib/intel_chipset.c  \
 			       $(top_srcdir)/lib/intel_reg_map.c  \
diff --git a/tools/quick_dump/chipset.i b/tools/quick_dump/chipset.i
index 395418e..ae176e8 100644
--- a/tools/quick_dump/chipset.i
+++ b/tools/quick_dump/chipset.i
@@ -4,6 +4,7 @@ 
 #include <pciaccess.h>
 #include <stdint.h>
 #include "intel_chipset.h"
+#include "intel_io.h"
 extern int is_sandybridge(unsigned short pciid);
 extern int is_ivybridge(unsigned short pciid);
 extern int is_valleyview(unsigned short pciid);
@@ -12,7 +13,7 @@  extern int is_broadwell(unsigned short pciid);
 extern struct pci_device *intel_get_pci_device();
 extern int intel_register_access_init(struct pci_device *pci_dev, int safe);
 extern uint32_t intel_register_read(uint32_t reg);
-extern uint32_t intel_register_write(uint32_t reg, uint32_t val);
+extern void intel_register_write(uint32_t reg, uint32_t val);
 extern void intel_register_access_fini();
 extern int intel_register_access_needs_fakewake();
 extern unsigned short pcidev_to_devid(struct pci_device *pci_dev);
@@ -27,7 +28,7 @@  extern int is_broadwell(unsigned short pciid);
 extern struct pci_device *intel_get_pci_device();
 extern int intel_register_access_init(struct pci_device *pci_dev, int safe);
 extern uint32_t intel_register_read(uint32_t reg);
-extern uint32_t intel_register_write(uint32_t reg, uint32_t val);
+extern void intel_register_write(uint32_t reg, uint32_t val);
 extern void intel_register_access_fini();
 extern int intel_register_access_needs_fakewake();
 extern unsigned short pcidev_to_devid(struct pci_device *pci_dev);
diff --git a/tools/quick_dump/chipset_macro_wrap.c b/tools/quick_dump/chipset_macro_wrap.c
index 392b85e..ee79777 100644
--- a/tools/quick_dump/chipset_macro_wrap.c
+++ b/tools/quick_dump/chipset_macro_wrap.c
@@ -1,3 +1,5 @@ 
+#include <stdbool.h>
+#include <stdlib.h>
 #include <pciaccess.h>
 #include "intel_chipset.h"
 
@@ -31,3 +33,15 @@  unsigned short pcidev_to_devid(struct pci_device *pdev)
 {
 	return pdev->device_id;
 }
+
+bool igt_check_boolean_env_var(const char *env_var, bool default_value)
+{
+	char *val;
+
+	val = getenv(env_var);
+	if (!val)
+		return default_value;
+
+	return atoi(val) != 0;
+}
+