void serial_configure_fifo_buffer(unsigned short com){ /*Bit: |7 6 |5 |4 |3 |2 |1 |0 | * |lvl |bs|r |dma|clt|clr|e | * |1 1 |0 |0 |0 | 1 | 1 |1 | = 0xC7 */ outb(SERIAL_FIFO_COMMAND_PORT(com), 0xC7); }
/** serial_configure_buffers * Configure the FIFOs of the given serial port. The port is set to have a * FIFO enabled, both transmission and reciever queues cleared, with * 14 byte FIFOs */ void serial_configure_buffers(unsigned int com) { /* Bit: | 7 6 | 5 | 4 | 3 | 2 | 1 | 0 | * Content: | lvl | bs | r | dma | clt | clr | e | * Value: | 1 1 | 0 | 0 | 0 | 1 | 1 | 1 | = 0xC7 */ outb(SERIAL_FIFO_COMMAND_PORT(com), 0xC7); }
/** serial_configure_buffers: * Configures the buffers of the given serial port. * lvl: How many bytes should be stored in the FIFO buffers * bs: If the buffers should be 16 or 64 bytes large * r: Reserved for future use * dma: How the serial port data should be accessed * clt: Clear the transmission FIFO buffer * clr: Clear the receiver FIFO buffer * e: If the FIFO buffer should be enabled or not */ void serial_configure_buffers(unsigned short com){ /* * Bit: | 7 6 | 5 | 4 | 3 | 2 | 1 | 0 | * Content: | lvl | bs | r | dma | clt | clr | e | * Value: | 1 1 | 0 | 0 | 0 | 1 | 1 | 1 | = 0xC7 * * Enables FIFO * Clear both receiver and transmission FIFO queues * Use 14 bytes as size of queue */ outb(SERIAL_FIFO_COMMAND_PORT(com), 0xC7); }
/** * Configures the fifo buffer of the given serial port. The port is set as: * FIFO enabled * Both receiver and transmission FIFO queues cleared * Use 14 bytes as the size of queue */ void serial_configure_fifo(unsigned short com, unsigned char config) { outb(SERIAL_FIFO_COMMAND_PORT(com), config); }
void serial_configure_fifo(uint16_t com){ outb(SERIAL_FIFO_COMMAND_PORT(com), 0xC7); }