fiq_debugger: fix issue for FIQ_GLUE

Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Change-Id: I0f6b3746dc54a4a42d372068db53320e3d852f98
This commit is contained in:
Huibin Hong
2022-03-23 08:19:40 +00:00
committed by Tao Huang
parent 4c9f0407c6
commit a698d04614
2 changed files with 10 additions and 1 deletions

View File

@@ -975,8 +975,10 @@ static bool fiq_debugger_handle_uart_interrupt(struct fiq_debugger_state *state,
}
#endif
fiq_debugger_prompt(state);
#ifdef CONFIG_FIQ_DEBUGGER_CONSOLE
fiq_debugger_ringbuf_push(state->tty_rbuf, 8);
fiq_debugger_ringbuf_push(state->tty_rbuf, 8);
#endif
#ifdef CONFIG_FIQ_DEBUGGER_CONSOLE
} else if (state->console_enable && state->tty_rbuf) {
fiq_debugger_ringbuf_push(state->tty_rbuf, c);
@@ -1058,7 +1060,7 @@ static bool fiq_debugger_handle_uart_interrupt(struct fiq_debugger_state *state,
#ifdef CONFIG_FIQ_GLUE
static void fiq_debugger_fiq(struct fiq_glue_handler *h,
const struct pt_regs *regs, void *svc_sp)
void *regs, void *svc_sp)
{
struct fiq_debugger_state *state =
container_of(h, struct fiq_debugger_state, handler);
@@ -1235,11 +1237,13 @@ static int fiq_tty_poll_get_char(struct tty_driver *driver, int line)
fiq_debugger_uart_enable(state);
if (fiq_debugger_have_fiq(state)) {
#ifdef CONFIG_FIQ_DEBUGGER_CONSOLE
int count = fiq_debugger_ringbuf_level(state->tty_rbuf);
if (count > 0) {
c = fiq_debugger_ringbuf_peek(state->tty_rbuf, 0);
fiq_debugger_ringbuf_consume(state->tty_rbuf, 1);
}
#endif
} else {
c = fiq_debugger_getc(state);
if (c == FIQ_DEBUGGER_NO_CHAR)

View File

@@ -70,4 +70,9 @@ struct fiq_debugger_pdata {
#endif
};
#ifdef CONFIG_FIQ_GLUE
void gic_set_irq_secure(struct irq_data *d);
void gic_set_irq_priority(struct irq_data *d, u8 pri);
#endif
#endif