Always notify OS of SCI when pmc_sci is called
This commit is contained in:
committed by
Jeremy Soller
parent
4cd4df03e8
commit
67e143178d
@@ -53,16 +53,15 @@ static void pmc_sci_interrupt(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool pmc_sci(struct Pmc * pmc, uint8_t sci) {
|
bool pmc_sci(struct Pmc * pmc, uint8_t sci) {
|
||||||
// Set SCI queue if possible
|
// Set SCI pending bit
|
||||||
|
pmc_set_status(pmc, pmc_status(pmc) | (1 << 5));
|
||||||
|
|
||||||
|
// Send SCI
|
||||||
|
pmc_sci_interrupt();
|
||||||
|
|
||||||
|
// Set SCI queue if not already set
|
||||||
if (pmc_sci_queue == 0) {
|
if (pmc_sci_queue == 0) {
|
||||||
pmc_sci_queue = sci;
|
pmc_sci_queue = sci;
|
||||||
|
|
||||||
// Set SCI pending bit
|
|
||||||
pmc_set_status(pmc, pmc_status(pmc) | (1 << 5));
|
|
||||||
|
|
||||||
// Send SCI
|
|
||||||
pmc_sci_interrupt();
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
|
Reference in New Issue
Block a user