[Skiboot] [PATCH] hw/bt: Move BT_QUEUE_DEBUG macro inside print_debug_queue_info fn
Cédric Le Goater
clg at fr.ibm.com
Thu Mar 24 20:30:29 AEDT 2016
On 03/24/2016 08:32 AM, Vipin K Parashar wrote:
> Move BT_QUEUE_DEBUG macro inside print_debug_queue_info function
> to avoid two definitions of same function. Also correct comment syntax
> and macro definition indentation.
>
> Signed-off-by: Vipin K Parashar <vipin at linux.vnet.ibm.com>
Reviewed-by: Cédric Le Goater <clg at fr.ibm.com>
> ---
> hw/bt.c | 126 +++++++++++++++++++++++++++++++---------------------------------
> 1 file changed, 61 insertions(+), 65 deletions(-)
>
> diff --git a/hw/bt.c b/hw/bt.c
> index 0c75ef5..5bb495d 100644
> --- a/hw/bt.c
> +++ b/hw/bt.c
> @@ -29,22 +29,22 @@
>
> /* BT registers */
> #define BT_CTRL 0
> -#define BT_CTRL_B_BUSY 0x80
> -#define BT_CTRL_H_BUSY 0x40
> -#define BT_CTRL_OEM0 0x20
> -#define BT_CTRL_SMS_ATN 0x10
> -#define BT_CTRL_B2H_ATN 0x08
> -#define BT_CTRL_H2B_ATN 0x04
> -#define BT_CTRL_CLR_RD_PTR 0x02
> -#define BT_CTRL_CLR_WR_PTR 0x01
> +#define BT_CTRL_B_BUSY 0x80
> +#define BT_CTRL_H_BUSY 0x40
> +#define BT_CTRL_OEM0 0x20
> +#define BT_CTRL_SMS_ATN 0x10
> +#define BT_CTRL_B2H_ATN 0x08
> +#define BT_CTRL_H2B_ATN 0x04
> +#define BT_CTRL_CLR_RD_PTR 0x02
> +#define BT_CTRL_CLR_WR_PTR 0x01
> #define BT_HOST2BMC 1
> #define BT_INTMASK 2
> -#define BT_INTMASK_B2H_IRQEN 0x01
> -#define BT_INTMASK_B2H_IRQ 0x02
> -#define BT_INTMASK_BMC_HWRST 0x80
> +#define BT_INTMASK_B2H_IRQEN 0x01
> +#define BT_INTMASK_B2H_IRQ 0x02
> +#define BT_INTMASK_BMC_HWRST 0x80
>
> /* Maximum size of the HW FIFO */
> -#define BT_FIFO_LEN 64
> +#define BT_FIFO_LEN 64
>
> /* Default poll interval before interrupts are working */
> #define BT_DEFAULT_POLL_MS 200
> @@ -53,31 +53,25 @@
> * Minimum size of an IPMI request/response including
> * mandatory headers.
> */
> -#define BT_MIN_REQ_LEN 3
> -#define BT_MIN_RESP_LEN 4
> +#define BT_MIN_REQ_LEN 3
> +#define BT_MIN_RESP_LEN 4
>
> -/*
> - * How long (in uS) to poll for new ipmi data.
> - */
> -#define POLL_TIMEOUT 10000
> +/* How long (in uS) to poll for new ipmi data. */
> +#define POLL_TIMEOUT 10000
>
> -/*
> - * Maximum number of outstanding messages to allow in the queue.
> - */
> -#define BT_MAX_QUEUE_LEN 10
> +/* Maximum number of outstanding messages to allow in the queue. */
> +#define BT_MAX_QUEUE_LEN 10
>
> -/*
> - * How long (in seconds) before a message is timed out.
> - */
> -#define BT_MSG_TIMEOUT 3
> +/* How long (in seconds) before a message is timed out. */
> +#define BT_MSG_TIMEOUT 3
>
> -/*
> - * Maximum number of times to attempt sending a message before giving up.
> - */
> -#define BT_MAX_SEND_COUNT 2
> +/* Maximum number of times to attempt sending a message before giving up. */
> +#define BT_MAX_SEND_COUNT 2
>
> -#define BT_QUEUE_DEBUG 0
> +/* Macro to enable printing BT message queue for debug */
> +#define BT_QUEUE_DEBUG 0
>
> +/* BT message logging macros */
> #define _BT_Q_LOG(level, msg, fmt, args...) \
> do { if (msg) \
> prlog(level, "seq 0x%02x netfn 0x%02x cmd 0x%02x: " fmt "\n", \
> @@ -86,10 +80,6 @@
> prlog(level, "seq 0x?? netfn 0x?? cmd 0x??: " fmt "\n", ##args); \
> } while(0)
>
> -
> -/*
> - * takes a struct bt_msg *
> - */
> #define BT_Q_ERR(msg, fmt, args...) \
> _BT_Q_LOG(PR_ERR, msg, fmt, ##args)
>
> @@ -158,7 +148,6 @@ static inline void bt_assert_h_busy(void)
> static void get_bt_caps_complete(struct ipmi_msg *msg)
> {
> /* Ignore errors, we'll fallback to using the defaults, no big deal */
> -
> if (msg->data[0] == 0) {
> prlog(PR_DEBUG, "Got illegal BMC BT capability\n");
> goto out;
> @@ -248,9 +237,11 @@ static void bt_reset_interface(void)
> bt_init_interface();
> }
>
> -/* Try and send a message from the message queue. Caller must hold
> +/*
> + * Try and send a message from the message queue. Caller must hold
> * bt.bt_lock and bt.lock and ensue the message queue is not
> - * empty. */
> + * empty.
> + */
> static void bt_send_msg(struct bt_msg *bt_msg)
> {
> int i;
> @@ -375,9 +366,7 @@ static void bt_get_resp(void)
> bt.queue_len--;
> unlock(&bt.lock);
>
> - /*
> - * Call the IPMI layer to finish processing the message.
> - */
> + /* Call IPMI layer to finish processing the message. */
> ipmi_cmd_done(cmd, netfn, cc, ipmi_msg);
> lock(&bt.lock);
>
> @@ -393,10 +382,12 @@ static void bt_expire_old_msg(uint64_t tb)
> if (bt_msg && bt_msg->tb > 0 &&
> (tb_compare(tb, bt_msg->tb + secs_to_tb(bt.caps.msg_timeout)) == TB_AAFTERB)) {
> if (bt_msg->send_count < BT_MAX_SEND_COUNT) {
> - /* A message timeout is usually due to the BMC
> - clearing the H2B_ATN flag without actually
> - doing anything. The data will still be in the
> - FIFO so just reset the flag.*/
> + /*
> + * A message timeout is usually due to the BMC
> + * clearing the H2B_ATN flag without actually
> + * doing anything. The data will still be in the
> + * FIFO so just reset the flag.
> + */
> BT_Q_ERR(bt_msg, "Retry sending message");
> bt_msg->send_count++;
>
> @@ -406,18 +397,20 @@ static void bt_expire_old_msg(uint64_t tb)
> BT_Q_ERR(bt_msg, "Timeout sending message");
> bt_msg_del(bt_msg);
>
> - /* Timing out a message is inherently racy as the BMC
> - may start writing just as we decide to kill the
> - message. Hopefully resetting the interface is
> - sufficient to guard against such things. */
> + /*
> + * Timing out a message is inherently racy as the BMC
> + * may start writing just as we decide to kill the
> + * message. Hopefully resetting the interface is
> + * sufficient to guard against such things.
> + */
> bt_reset_interface();
> }
> }
> }
>
> -#if BT_QUEUE_DEBUG
> static void print_debug_queue_info(void)
> {
> +#if BT_QUEUE_DEBUG
> struct bt_msg *msg;
> static bool printed = false;
>
> @@ -432,10 +425,8 @@ static void print_debug_queue_info(void)
> printed = true;
> prlog(PR_DEBUG, "----- BT Msg Queue Empty -----\n");
> }
> -}
> -#else
> -static void print_debug_queue_info(void) {}
> #endif
> +}
>
> static void bt_send_and_unlock(void)
> {
> @@ -445,10 +436,12 @@ static void bt_send_and_unlock(void)
> bt_msg = list_top(&bt.msgq, struct bt_msg, link);
> assert(bt_msg);
>
> - /* Start the message timeout once it gets to the top
> + /*
> + * Start the message timeout once it gets to the top
> * of the queue. This will ensure we timeout messages
> * in the case of a broken bt interface as occurs when
> - * the BMC is not responding to any IPMI messages. */
> + * the BMC is not responding to any IPMI messages.
> + */
> if (bt_msg->tb == 0)
> bt_msg->tb = mftb();
>
> @@ -473,8 +466,10 @@ static void bt_poll(struct timer *t __unused, void *data __unused,
> if (!lpc_ok())
> return;
>
> - /* If we can't get the lock assume someone else will notice
> - * the new message and process it. */
> + /*
> + * If we can't get the lock assume someone else will notice
> + * the new message and process it.
> + */
> lock(&bt.lock);
>
> print_debug_queue_info();
> @@ -495,11 +490,12 @@ static void bt_poll(struct timer *t __unused, void *data __unused,
> lock(&bt.lock);
> }
>
> - /* Send messages if we can. If the BMC was really quick we
> - could loop back to the start and check for a response
> - instead of unlocking, but testing shows the BMC isn't that
> - fast so we will wait for the IRQ or a call to the pollers
> - instead. */
> + /*
> + * Send messages if we can. If the BMC was really quick we
> + * could loop back to the start and check for a response
> + * instead of unlocking, but testing shows the BMC isn't that
> + * fast so we will wait for the IRQ or a call to the pollers instead.
> + */
> bt_send_and_unlock();
>
> schedule_timer(&bt.poller,
> @@ -513,8 +509,7 @@ static void bt_add_msg(struct bt_msg *bt_msg)
> bt_msg->send_count = 0;
> bt.queue_len++;
> if (bt.queue_len > BT_MAX_QUEUE_LEN) {
> - /* Maximum queue length exceeded - remove the oldest message
> - from the queue. */
> + /* Maximum queue length exceeded, remove oldest messages. */
> BT_Q_ERR(bt_msg, "Maximum queue length exceeded");
> bt_msg = list_tail(&bt.msgq, struct bt_msg, link);
> assert(bt_msg);
> @@ -663,7 +658,8 @@ void bt_init(void)
>
> ipmi_register_backend(&bt_backend);
>
> - /* We initially schedule the poller as a relatively fast timer, at
> + /*
> + * We initially schedule the poller as a relatively fast timer, at
> * least until we have at least one interrupt occurring at which
> * point we turn it into a background poller
> */
>
More information about the Skiboot
mailing list