Lines Matching refs:up
603 static inline void __uart_port_lock_irqsave(struct uart_port *up, unsigned long *flags) in __uart_port_lock_irqsave() argument
605 spin_lock_irqsave(&up->lock, *flags); in __uart_port_lock_irqsave()
612 static inline void __uart_port_unlock_irqrestore(struct uart_port *up, unsigned long flags) in __uart_port_unlock_irqrestore() argument
614 spin_unlock_irqrestore(&up->lock, flags); in __uart_port_unlock_irqrestore()
626 static inline void uart_port_set_cons(struct uart_port *up, struct console *con) in uart_port_set_cons() argument
630 __uart_port_lock_irqsave(up, &flags); in uart_port_set_cons()
631 up->cons = con; in uart_port_set_cons()
632 __uart_port_unlock_irqrestore(up, flags); in uart_port_set_cons()
636 static inline bool __uart_port_using_nbcon(struct uart_port *up) in __uart_port_using_nbcon() argument
638 lockdep_assert_held_once(&up->lock); in __uart_port_using_nbcon()
640 if (likely(!uart_console(up))) in __uart_port_using_nbcon()
651 if (hlist_unhashed_lockless(&up->cons->node) || in __uart_port_using_nbcon()
652 !(up->cons->flags & CON_NBCON) || in __uart_port_using_nbcon()
653 !up->cons->write_atomic) { in __uart_port_using_nbcon()
661 static inline bool __uart_port_nbcon_try_acquire(struct uart_port *up) in __uart_port_nbcon_try_acquire() argument
663 if (!__uart_port_using_nbcon(up)) in __uart_port_nbcon_try_acquire()
666 return nbcon_device_try_acquire(up->cons); in __uart_port_nbcon_try_acquire()
670 static inline void __uart_port_nbcon_acquire(struct uart_port *up) in __uart_port_nbcon_acquire() argument
672 if (!__uart_port_using_nbcon(up)) in __uart_port_nbcon_acquire()
675 while (!nbcon_device_try_acquire(up->cons)) in __uart_port_nbcon_acquire()
680 static inline void __uart_port_nbcon_release(struct uart_port *up) in __uart_port_nbcon_release() argument
682 if (!__uart_port_using_nbcon(up)) in __uart_port_nbcon_release()
685 nbcon_device_release(up->cons); in __uart_port_nbcon_release()
692 static inline void uart_port_lock(struct uart_port *up) in uart_port_lock() argument
694 spin_lock(&up->lock); in uart_port_lock()
695 __uart_port_nbcon_acquire(up); in uart_port_lock()
702 static inline void uart_port_lock_irq(struct uart_port *up) in uart_port_lock_irq() argument
704 spin_lock_irq(&up->lock); in uart_port_lock_irq()
705 __uart_port_nbcon_acquire(up); in uart_port_lock_irq()
713 static inline void uart_port_lock_irqsave(struct uart_port *up, unsigned long *flags) in uart_port_lock_irqsave() argument
715 spin_lock_irqsave(&up->lock, *flags); in uart_port_lock_irqsave()
716 __uart_port_nbcon_acquire(up); in uart_port_lock_irqsave()
725 static inline bool uart_port_trylock(struct uart_port *up) in uart_port_trylock() argument
727 if (!spin_trylock(&up->lock)) in uart_port_trylock()
730 if (!__uart_port_nbcon_try_acquire(up)) { in uart_port_trylock()
731 spin_unlock(&up->lock); in uart_port_trylock()
745 static inline bool uart_port_trylock_irqsave(struct uart_port *up, unsigned long *flags) in uart_port_trylock_irqsave() argument
747 if (!spin_trylock_irqsave(&up->lock, *flags)) in uart_port_trylock_irqsave()
750 if (!__uart_port_nbcon_try_acquire(up)) { in uart_port_trylock_irqsave()
751 spin_unlock_irqrestore(&up->lock, *flags); in uart_port_trylock_irqsave()
762 static inline void uart_port_unlock(struct uart_port *up) in uart_port_unlock() argument
764 __uart_port_nbcon_release(up); in uart_port_unlock()
765 spin_unlock(&up->lock); in uart_port_unlock()
772 static inline void uart_port_unlock_irq(struct uart_port *up) in uart_port_unlock_irq() argument
774 __uart_port_nbcon_release(up); in uart_port_unlock_irq()
775 spin_unlock_irq(&up->lock); in uart_port_unlock_irq()
783 static inline void uart_port_unlock_irqrestore(struct uart_port *up, unsigned long flags) in uart_port_unlock_irqrestore() argument
785 __uart_port_nbcon_release(up); in uart_port_unlock_irqrestore()
786 spin_unlock_irqrestore(&up->lock, flags); in uart_port_unlock_irqrestore()
789 static inline int serial_port_in(struct uart_port *up, int offset) in serial_port_in() argument
791 return up->serial_in(up, offset); in serial_port_in()
794 static inline void serial_port_out(struct uart_port *up, int offset, int value) in serial_port_out() argument
796 up->serial_out(up, offset, value); in serial_port_out()
839 static inline void uart_xmit_advance(struct uart_port *up, unsigned int chars) in uart_xmit_advance() argument
841 struct tty_port *tport = &up->state->port; in uart_xmit_advance()
844 up->icount.tx += chars; in uart_xmit_advance()
847 static inline unsigned int uart_fifo_out(struct uart_port *up, in uart_fifo_out() argument
850 struct tty_port *tport = &up->state->port; in uart_fifo_out()
853 up->icount.tx += chars; in uart_fifo_out()
858 static inline unsigned int uart_fifo_get(struct uart_port *up, in uart_fifo_get() argument
861 struct tty_port *tport = &up->state->port; in uart_fifo_get()
865 up->icount.tx += chars; in uart_fifo_get()