drm/i915/guc: Drop union guc_log_control
Usually we use shift/mask macros for bit field definitions. Union guc_log_control was not following that pattern. Additional bonus: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-25 (-25) Function old new delta intel_guc_log_level_set 388 363 -25 v2: prevent out-of-range verbosity (MichalWi) Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Michal Winiarski <michal.winiarski@intel.com> Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com> Reviewed-by: MichaĹ Winiarski <michal.winiarski@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20180320181419.35576-2-michal.wajdeczko@intel.com
This commit is contained in:
parent
7beae44d7b
commit
154374c331
@ -534,17 +534,6 @@ struct guc_log_buffer_state {
|
||||
u32 version;
|
||||
} __packed;
|
||||
|
||||
union guc_log_control {
|
||||
struct {
|
||||
u32 logging_enabled:1;
|
||||
u32 reserved1:3;
|
||||
u32 verbosity:4;
|
||||
u32 default_logging:1;
|
||||
u32 reserved2:23;
|
||||
};
|
||||
u32 value;
|
||||
} __packed;
|
||||
|
||||
struct guc_ctx_report {
|
||||
u32 report_return_status;
|
||||
u32 reserved1[64];
|
||||
@ -603,6 +592,11 @@ enum intel_guc_report_status {
|
||||
INTEL_GUC_REPORT_STATUS_COMPLETE = 0x4,
|
||||
};
|
||||
|
||||
#define GUC_LOG_CONTROL_LOGGING_ENABLED (1 << 0)
|
||||
#define GUC_LOG_CONTROL_VERBOSITY_SHIFT 4
|
||||
#define GUC_LOG_CONTROL_VERBOSITY_MASK (0xF << GUC_LOG_CONTROL_VERBOSITY_SHIFT)
|
||||
#define GUC_LOG_CONTROL_DEFAULT_LOGGING (1 << 8)
|
||||
|
||||
/*
|
||||
* The GuC sends its response to a command by overwriting the
|
||||
* command in SS0. The response is distinguishable from a command
|
||||
|
@ -60,18 +60,15 @@ static int guc_action_flush_log(struct intel_guc *guc)
|
||||
static int guc_action_control_log(struct intel_guc *guc, bool enable,
|
||||
bool default_logging, u32 verbosity)
|
||||
{
|
||||
union guc_log_control control_val = {
|
||||
{
|
||||
.logging_enabled = enable,
|
||||
.verbosity = verbosity,
|
||||
.default_logging = default_logging,
|
||||
},
|
||||
};
|
||||
u32 action[] = {
|
||||
INTEL_GUC_ACTION_UK_LOG_ENABLE_LOGGING,
|
||||
control_val.value
|
||||
(enable ? GUC_LOG_CONTROL_LOGGING_ENABLED : 0) |
|
||||
(verbosity << GUC_LOG_CONTROL_VERBOSITY_SHIFT) |
|
||||
(default_logging ? GUC_LOG_CONTROL_DEFAULT_LOGGING : 0)
|
||||
};
|
||||
|
||||
GEM_BUG_ON(verbosity > GUC_LOG_VERBOSITY_MAX);
|
||||
|
||||
return intel_guc_send(guc, action, ARRAY_SIZE(action));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user