staging: gasket: apex_clock_gating simplify logic, reduce indentation
Collapse together two checks and return immediately, avoid conditional indentation for most of function code. Reported-by: Guenter Roeck <groeck@chromium.org> Signed-off-by: Simon Que <sque@chromium.org> Signed-off-by: Todd Poynor <toddpoynor@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e80d8afc97
commit
9116223b84
@ -666,33 +666,30 @@ static long apex_clock_gating(struct gasket_dev *gasket_dev, ulong arg)
|
||||
{
|
||||
struct apex_gate_clock_ioctl ibuf;
|
||||
|
||||
if (bypass_top_level)
|
||||
if (bypass_top_level || !allow_sw_clock_gating)
|
||||
return 0;
|
||||
|
||||
if (allow_sw_clock_gating) {
|
||||
if (copy_from_user(&ibuf, (void __user *)arg, sizeof(ibuf)))
|
||||
return -EFAULT;
|
||||
if (copy_from_user(&ibuf, (void __user *)arg, sizeof(ibuf)))
|
||||
return -EFAULT;
|
||||
|
||||
gasket_log_error(
|
||||
gasket_dev, "%s %llu", __func__, ibuf.enable);
|
||||
gasket_log_error(gasket_dev, "%s %llu", __func__, ibuf.enable);
|
||||
|
||||
if (ibuf.enable) {
|
||||
/* Quiesce AXI, gate GCB clock. */
|
||||
gasket_read_modify_write_32(
|
||||
gasket_dev, APEX_BAR_INDEX,
|
||||
APEX_BAR2_REG_AXI_QUIESCE, 0x1, 1, 16);
|
||||
gasket_read_modify_write_32(
|
||||
gasket_dev, APEX_BAR_INDEX,
|
||||
APEX_BAR2_REG_GCB_CLOCK_GATE, 0x1, 2, 18);
|
||||
} else {
|
||||
/* Un-gate GCB clock, un-quiesce AXI. */
|
||||
gasket_read_modify_write_32(
|
||||
gasket_dev, APEX_BAR_INDEX,
|
||||
APEX_BAR2_REG_GCB_CLOCK_GATE, 0x0, 2, 18);
|
||||
gasket_read_modify_write_32(
|
||||
gasket_dev, APEX_BAR_INDEX,
|
||||
APEX_BAR2_REG_AXI_QUIESCE, 0x0, 1, 16);
|
||||
}
|
||||
if (ibuf.enable) {
|
||||
/* Quiesce AXI, gate GCB clock. */
|
||||
gasket_read_modify_write_32(
|
||||
gasket_dev, APEX_BAR_INDEX,
|
||||
APEX_BAR2_REG_AXI_QUIESCE, 0x1, 1, 16);
|
||||
gasket_read_modify_write_32(
|
||||
gasket_dev, APEX_BAR_INDEX,
|
||||
APEX_BAR2_REG_GCB_CLOCK_GATE, 0x1, 2, 18);
|
||||
} else {
|
||||
/* Un-gate GCB clock, un-quiesce AXI. */
|
||||
gasket_read_modify_write_32(
|
||||
gasket_dev, APEX_BAR_INDEX,
|
||||
APEX_BAR2_REG_GCB_CLOCK_GATE, 0x0, 2, 18);
|
||||
gasket_read_modify_write_32(
|
||||
gasket_dev, APEX_BAR_INDEX,
|
||||
APEX_BAR2_REG_AXI_QUIESCE, 0x0, 1, 16);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user