A velocidade da porta serial normalmente é tratada pelo próprio hardware e é configurada pelo driver de hardware.
Assim, a cadeia a seguir seria a chamada TCSETS ioctl, que chama tty_set_termios() em tty_ioctl.c . Se você seguiu essa cadeia até o driver RocketPort, ele chamaria rp_set_termios() , que chama configure_r_port() .
Isso faz um cálculo das configurações para enviar ao chip RocketPort (por exemplo, a configuração do divisor), que eventualmente chama o sSetBaud (definido em rocket_int.h ), que simplesmente envia os bytes para o chip.
O kernel, por si só, não faz "bit banging" das linhas seriais para determinar a taxa de transmissão; o chip UART faz todo esse trabalho duro para nós. Nós só precisamos programar o chip: -)