mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 01:57:45 +00:00
Kernel: Clean up AC'97 driver code style
* Remove braces from single-line conditionals * Use aggregate initialization style for member variables
This commit is contained in:
parent
ee64279958
commit
e2891e9aa4
2 changed files with 13 additions and 16 deletions
|
@ -61,11 +61,10 @@ bool AC97::handle_irq(RegisterState const&)
|
||||||
pcm_out_status_register.out(pcm_out_status);
|
pcm_out_status_register.out(pcm_out_status);
|
||||||
|
|
||||||
// Stop the DMA engine if we're through with the buffer and no one is waiting
|
// Stop the DMA engine if we're through with the buffer and no one is waiting
|
||||||
if (is_dma_halted && m_irq_queue.is_empty()) {
|
if (is_dma_halted && m_irq_queue.is_empty())
|
||||||
reset_pcm_out();
|
reset_pcm_out();
|
||||||
} else {
|
else
|
||||||
m_irq_queue.wake_all();
|
m_irq_queue.wake_all();
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -187,9 +186,9 @@ ErrorOr<size_t> AC97::write(size_t channel_index, UserOrKernelBuffer const& data
|
||||||
if (channel_index != 0)
|
if (channel_index != 0)
|
||||||
return Error::from_errno(ENODEV);
|
return Error::from_errno(ENODEV);
|
||||||
|
|
||||||
if (!m_output_buffer) {
|
if (!m_output_buffer)
|
||||||
m_output_buffer = TRY(MM.allocate_dma_buffer_pages(m_output_buffer_page_count * PAGE_SIZE, "AC97 Output buffer"sv, Memory::Region::Access::Write));
|
m_output_buffer = TRY(MM.allocate_dma_buffer_pages(m_output_buffer_page_count * PAGE_SIZE, "AC97 Output buffer"sv, Memory::Region::Access::Write));
|
||||||
}
|
|
||||||
if (!m_buffer_descriptor_list) {
|
if (!m_buffer_descriptor_list) {
|
||||||
size_t buffer_descriptor_list_size = buffer_descriptor_list_max_entries * sizeof(BufferDescriptorListEntry);
|
size_t buffer_descriptor_list_size = buffer_descriptor_list_max_entries * sizeof(BufferDescriptorListEntry);
|
||||||
buffer_descriptor_list_size = TRY(Memory::page_round_up(buffer_descriptor_list_size));
|
buffer_descriptor_list_size = TRY(Memory::page_round_up(buffer_descriptor_list_size));
|
||||||
|
@ -236,9 +235,8 @@ ErrorOr<void> AC97::write_single_buffer(UserOrKernelBuffer const& data, size_t o
|
||||||
// Copy data from userspace into one of our buffers
|
// Copy data from userspace into one of our buffers
|
||||||
TRY(data.read(m_output_buffer->vaddr_from_page_index(m_output_buffer_page_index).as_ptr(), offset, length));
|
TRY(data.read(m_output_buffer->vaddr_from_page_index(m_output_buffer_page_index).as_ptr(), offset, length));
|
||||||
|
|
||||||
if (!m_pcm_out_channel.dma_running()) {
|
if (!m_pcm_out_channel.dma_running())
|
||||||
reset_pcm_out();
|
reset_pcm_out();
|
||||||
}
|
|
||||||
|
|
||||||
// Write the next entry to the buffer descriptor list
|
// Write the next entry to the buffer descriptor list
|
||||||
u16 number_of_samples = length / sizeof(u16);
|
u16 number_of_samples = length / sizeof(u16);
|
||||||
|
@ -250,9 +248,8 @@ ErrorOr<void> AC97::write_single_buffer(UserOrKernelBuffer const& data, size_t o
|
||||||
auto buffer_address = static_cast<u32>(m_buffer_descriptor_list->physical_page(0)->paddr().get());
|
auto buffer_address = static_cast<u32>(m_buffer_descriptor_list->physical_page(0)->paddr().get());
|
||||||
m_pcm_out_channel.set_last_valid_index(buffer_address, m_buffer_descriptor_list_index);
|
m_pcm_out_channel.set_last_valid_index(buffer_address, m_buffer_descriptor_list_index);
|
||||||
|
|
||||||
if (!m_pcm_out_channel.dma_running()) {
|
if (!m_pcm_out_channel.dma_running())
|
||||||
m_pcm_out_channel.start_dma();
|
m_pcm_out_channel.start_dma();
|
||||||
}
|
|
||||||
|
|
||||||
m_output_buffer_page_index = (m_output_buffer_page_index + 1) % m_output_buffer_page_count;
|
m_output_buffer_page_index = (m_output_buffer_page_index + 1) % m_output_buffer_page_count;
|
||||||
m_buffer_descriptor_list_index = (m_buffer_descriptor_list_index + 1) % buffer_descriptor_list_max_entries;
|
m_buffer_descriptor_list_index = (m_buffer_descriptor_list_index + 1) % buffer_descriptor_list_max_entries;
|
||||||
|
|
|
@ -135,7 +135,7 @@ private:
|
||||||
private:
|
private:
|
||||||
IOAddress m_channel_base;
|
IOAddress m_channel_base;
|
||||||
AC97& m_device;
|
AC97& m_device;
|
||||||
bool m_dma_running = false;
|
bool m_dma_running { false };
|
||||||
StringView m_name;
|
StringView m_name;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -160,17 +160,17 @@ private:
|
||||||
virtual ErrorOr<u32> get_pcm_output_sample_rate(size_t channel_index) override;
|
virtual ErrorOr<u32> get_pcm_output_sample_rate(size_t channel_index) override;
|
||||||
|
|
||||||
OwnPtr<Memory::Region> m_buffer_descriptor_list;
|
OwnPtr<Memory::Region> m_buffer_descriptor_list;
|
||||||
u8 m_buffer_descriptor_list_index = 0;
|
u8 m_buffer_descriptor_list_index { 0 };
|
||||||
bool m_double_rate_pcm_enabled = false;
|
bool m_double_rate_pcm_enabled { false };
|
||||||
IOAddress m_io_mixer_base;
|
IOAddress m_io_mixer_base;
|
||||||
IOAddress m_io_bus_base;
|
IOAddress m_io_bus_base;
|
||||||
WaitQueue m_irq_queue;
|
WaitQueue m_irq_queue;
|
||||||
OwnPtr<Memory::Region> m_output_buffer;
|
OwnPtr<Memory::Region> m_output_buffer;
|
||||||
u8 m_output_buffer_page_count = 4;
|
u8 m_output_buffer_page_count { 4 };
|
||||||
u8 m_output_buffer_page_index = 0;
|
u8 m_output_buffer_page_index { 0 };
|
||||||
AC97Channel m_pcm_out_channel;
|
AC97Channel m_pcm_out_channel;
|
||||||
u32 m_sample_rate = 0;
|
u32 m_sample_rate { 0 };
|
||||||
bool m_variable_rate_pcm_supported = false;
|
bool m_variable_rate_pcm_supported { false };
|
||||||
RefPtr<AudioChannel> m_audio_channel;
|
RefPtr<AudioChannel> m_audio_channel;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue