#include "perf.h" #include "util/util.h" #include "util/debug.h" #include #include "util/parse-regs-options.h" int parse_regs(const struct option *opt, const char *str, int unset) { uint64_t *mode = (uint64_t *)opt->value; const struct sample_reg *r; char *s, *os = NULL, *p; int ret = -1; if (unset) return 0; /* * cannot set it twice */ if (*mode) return -1; /* str may be NULL in case no arg is passed to -I */ if (str) { /* because str is read-only */ s = os = strdup(str); if (!s) return -1; for (;;) { p = strchr(s, ','); if (p) *p = '\0'; if (!strcmp(s, "?")) { fprintf(stderr, "available registers: "); for (r = sample_reg_masks; r->name; r++) { fprintf(stderr, "%s ", r->name); } fputc('\n', stderr); /* just printing available regs */ return -1; } for (r = sample_reg_masks; r->name; r++) { if (!strcasecmp(s, r->name)) break; } if (!r->name) { ui__warning("unknown register %s," " check man page\n", s); goto error; } *mode |= r->mask; if (!p) break; s = p + 1; } } ret = 0; /* default to all possible regs */ if (*mode == 0) *mode = PERF_REGS_MASK; error: free(os); return ret; } tion value='packet-loop-back'>packet-loop-back net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2017-01-23 09:12:23 +1000
committerDave Airlie <airlied@redhat.com>2017-01-23 09:12:23 +1000
commitf1750e144a2f01b011bd3155fcf8b6dff299fe68 (patch)
treeef6da0227c4cc7e071db8875b3e3c82a6219b867 /drivers
parent9afe69d5a9495f8b023017e4c328fa717e00f092 (diff)
parent3bfdfdcbce2796ce75bf2d85fd8471858d702e5d (diff)
Merge tag 'drm-intel-fixes-2017-01-19' of git://anongit.freedesktop.org/git/drm-intel into drm-fixes
More GVT-g stuff than I'd like at this stage, but then again that's pretty new and isolated so I'm not too worried. * tag 'drm-intel-fixes-2017-01-19' of git://anongit.freedesktop.org/git/drm-intel: (26 commits) drm/i915: Ignore bogus plane coordinates on SKL when the plane is not visible drm/i915: Remove WaDisableLSQCROPERFforOCL KBL workaround. drm/i915/gvt: rewrite gt reset handler using new function intel_gvt_reset_vgpu_locked drm/i915/gvt: fix vGPU instance reuse issues by vGPU reset function drm/i915/gvt: introduce intel_vgpu_reset_mmio() to reset mmio space drm/i915/gvt: move mmio init/clean function to mmio.c drm/i915/gvt: introduce intel_vgpu_reset_cfg_space to reset configuration space drm/i915/gvt: move cfg space inititation function to cfg_space.c drm/i915/gvt: introuduce intel_vgpu_reset_gtt() to reset gtt drm/i915/gvt: introudce intel_vgpu_reset_resource() to reset vgpu resource state drm/i915: Fix phys pwrite for struct_mutex-less operation drm/i915: Clear ret before unbinding in i915_gem_evict_something() drm/i915/gvt: cleanup GFP flags drm/i915/gvt/kvmgt: return meaningful error for vgpu creating failure drm/i915/gvt: cleanup opregion memory allocation code drm/i915/gvt: destroy the allocated idr on vgpu creating failures drm/i915/gvt: init/destroy vgpu_idr properly drm/i915/gvt: dec vgpu->running_workload_num after the workload is really done drm/i915/gvt: fix use after free for workload drm/i915/gvt: remove duplicated definition ...
Diffstat (limited to 'drivers')