Changeset a1732929 in mainline for uspace/drv/bus/usb/ohci/hc.c


Ignore:
Timestamp:
2018-01-15T17:04:34Z (7 years ago)
Author:
Ondřej Hlavatý <aearsis@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9ff99e8
Parents:
c1a966e
git-author:
Ondřej Hlavatý <aearsis@…> (2018-01-15 17:04:32)
git-committer:
Ondřej Hlavatý <aearsis@…> (2018-01-15 17:04:34)
Message:

usb: unified logging

Use logger instead of printf. Logger adds newlines automatically.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/ohci/hc.c

    rc1a966e ra1732929  
    136136        OHCI_WR(code->cmds[1].value, OHCI_USED_INTERRUPTS);
    137137
    138         usb_log_debug("Memory mapped regs at %p (size %zu), IRQ %d.\n",
     138        usb_log_debug("Memory mapped regs at %p (size %zu), IRQ %d.",
    139139            RNGABSPTR(regs), RNGSZ(regs), hw_res->irqs.irqs[0]);
    140140
     
    160160            (void **) &instance->registers);
    161161        if (ret != EOK) {
    162                 usb_log_error("Failed to gain access to registers: %s.\n",
     162                usb_log_error("Failed to gain access to registers: %s.",
    163163                    str_error(ret));
    164164                return ret;
    165165        }
    166         usb_log_debug("Device registers at %" PRIx64 " (%zuB) accessible.\n",
     166        usb_log_debug("Device registers at %" PRIx64 " (%zuB) accessible.",
    167167            hw_res->mem_ranges.ranges[0].address.absolute,
    168168            hw_res->mem_ranges.ranges[0].size);
     
    173173        ret = hc_init_memory(instance);
    174174        if (ret != EOK) {
    175                 usb_log_error("Failed to create OHCI memory structures: %s.\n",
     175                usb_log_error("Failed to create OHCI memory structures: %s.",
    176176                    str_error(ret));
    177177                // TODO: We should disable pio access here
     
    293293        /* Check for root hub communication */
    294294        if (batch->target.address == ohci_rh_get_address(&hc->rh)) {
    295                 usb_log_debug("OHCI root hub request.\n");
     295                usb_log_debug("OHCI root hub request.");
    296296                return ohci_rh_schedule(&hc->rh, batch);
    297297        }
     
    341341        if ((status & ~I_SF) == 0) /* ignore sof status */
    342342                return;
    343         usb_log_debug2("OHCI(%p) interrupt: %x.\n", hc, status);
     343        usb_log_debug2("OHCI(%p) interrupt: %x.", hc, status);
    344344        if (status & I_RHSC)
    345345                ohci_rh_interrupt(&hc->rh);
     
    347347        if (status & I_WDH) {
    348348                fibril_mutex_lock(&hc->guard);
    349                 usb_log_debug2("HCCA: %p-%#" PRIx32 " (%p).\n", hc->hcca,
     349                usb_log_debug2("HCCA: %p-%#" PRIx32 " (%p).", hc->hcca,
    350350                    OHCI_RD(hc->registers->hcca),
    351351                    (void *) addr_to_phys(hc->hcca));
    352                 usb_log_debug2("Periodic current: %#" PRIx32 ".\n",
     352                usb_log_debug2("Periodic current: %#" PRIx32 ".",
    353353                    OHCI_RD(hc->registers->periodic_current));
    354354
     
    370370
    371371        if (status & I_UE) {
    372                 usb_log_fatal("Error like no other!\n");
     372                usb_log_fatal("Error like no other!");
    373373                hc_start(&hc->base);
    374374        }
     
    387387        hc_t *instance = hcd_to_hc(hcd);
    388388
    389         usb_log_debug("Requesting OHCI control.\n");
     389        usb_log_debug("Requesting OHCI control.");
    390390        if (OHCI_RD(instance->registers->revision) & R_LEGACY_FLAG) {
    391391                /* Turn off legacy emulation, it should be enough to zero
     
    396396                volatile uint32_t *ohci_emulation_reg =
    397397                (uint32_t*)((char*)instance->registers + LEGACY_REGS_OFFSET);
    398                 usb_log_debug("OHCI legacy register %p: %x.\n",
     398                usb_log_debug("OHCI legacy register %p: %x.",
    399399                    ohci_emulation_reg, OHCI_RD(*ohci_emulation_reg));
    400400                /* Zero everything but A20State */
     
    402402                OHCI_CLR(*ohci_emulation_reg, ~0x100);
    403403                usb_log_debug(
    404                     "OHCI legacy register (should be 0 or 0x100) %p: %x.\n",
     404                    "OHCI legacy register (should be 0 or 0x100) %p: %x.",
    405405                    ohci_emulation_reg, OHCI_RD(*ohci_emulation_reg));
    406406        }
     
    408408        /* Interrupt routing enabled => smm driver is active */
    409409        if (OHCI_RD(instance->registers->control) & C_IR) {
    410                 usb_log_debug("SMM driver: request ownership change.\n");
     410                usb_log_debug("SMM driver: request ownership change.");
    411411                // TODO: should we ack interrupts before doing this?
    412412                OHCI_SET(instance->registers->command_status, CS_OCR);
     
    415415                        async_usleep(1000);
    416416                }
    417                 usb_log_info("SMM driver: Ownership taken.\n");
     417                usb_log_info("SMM driver: Ownership taken.");
    418418                C_HCFS_SET(instance->registers->control, C_HCFS_RESET);
    419419                async_usleep(50000);
     
    424424        /* Interrupt routing disabled && status != USB_RESET => BIOS active */
    425425        if (hc_status != C_HCFS_RESET) {
    426                 usb_log_debug("BIOS driver found.\n");
     426                usb_log_debug("BIOS driver found.");
    427427                if (hc_status == C_HCFS_OPERATIONAL) {
    428                         usb_log_info("BIOS driver: HC operational.\n");
     428                        usb_log_info("BIOS driver: HC operational.");
    429429                        return EOK;
    430430                }
     
    432432                C_HCFS_SET(instance->registers->control, C_HCFS_RESUME);
    433433                async_usleep(20000);
    434                 usb_log_info("BIOS driver: HC resumed.\n");
     434                usb_log_info("BIOS driver: HC resumed.");
    435435                return EOK;
    436436        }
     
    438438        /* HC is in reset (hw startup) => no other driver
    439439         * maintain reset for at least the time specified in USB spec (50 ms)*/
    440         usb_log_debug("Host controller found in reset state.\n");
     440        usb_log_debug("Host controller found in reset state.");
    441441        async_usleep(50000);
    442442        return EOK;
     
    454454        /* OHCI guide page 42 */
    455455        assert(instance);
    456         usb_log_debug2("Started hc initialization routine.\n");
     456        usb_log_debug2("Started hc initialization routine.");
    457457
    458458        /* Save contents of fm_interval register */
    459459        const uint32_t fm_interval = OHCI_RD(instance->registers->fm_interval);
    460         usb_log_debug2("Old value of HcFmInterval: %x.\n", fm_interval);
     460        usb_log_debug2("Old value of HcFmInterval: %x.", fm_interval);
    461461
    462462        /* Reset hc */
    463         usb_log_debug2("HC reset.\n");
     463        usb_log_debug2("HC reset.");
    464464        size_t time = 0;
    465465        OHCI_WR(instance->registers->command_status, CS_HCR);
     
    468468                time += 10;
    469469        }
    470         usb_log_debug2("HC reset complete in %zu us.\n", time);
     470        usb_log_debug2("HC reset complete in %zu us.", time);
    471471
    472472        /* Restore fm_interval */
     
    475475
    476476        /* hc is now in suspend state */
    477         usb_log_debug2("HC should be in suspend state(%x).\n",
     477        usb_log_debug2("HC should be in suspend state(%x).",
    478478            OHCI_RD(instance->registers->control));
    479479
     
    484484        OHCI_WR(instance->registers->bulk_head,
    485485            instance->lists[USB_TRANSFER_BULK].list_head_pa);
    486         usb_log_debug2("Bulk HEAD set to: %p (%#" PRIx32 ").\n",
     486        usb_log_debug2("Bulk HEAD set to: %p (%#" PRIx32 ").",
    487487            instance->lists[USB_TRANSFER_BULK].list_head,
    488488            instance->lists[USB_TRANSFER_BULK].list_head_pa);
     
    490490        OHCI_WR(instance->registers->control_head,
    491491            instance->lists[USB_TRANSFER_CONTROL].list_head_pa);
    492         usb_log_debug2("Control HEAD set to: %p (%#" PRIx32 ").\n",
     492        usb_log_debug2("Control HEAD set to: %p (%#" PRIx32 ").",
    493493            instance->lists[USB_TRANSFER_CONTROL].list_head,
    494494            instance->lists[USB_TRANSFER_CONTROL].list_head_pa);
     
    496496        /* Enable queues */
    497497        OHCI_SET(instance->registers->control, (C_PLE | C_IE | C_CLE | C_BLE));
    498         usb_log_debug("Queues enabled(%x).\n",
     498        usb_log_debug("Queues enabled(%x).",
    499499            OHCI_RD(instance->registers->control));
    500500
     
    503503                OHCI_WR(instance->registers->interrupt_enable,
    504504                    OHCI_USED_INTERRUPTS);
    505                 usb_log_debug("Enabled interrupts: %x.\n",
     505                usb_log_debug("Enabled interrupts: %x.",
    506506                    OHCI_RD(instance->registers->interrupt_enable));
    507507                OHCI_WR(instance->registers->interrupt_enable, I_MI);
     
    513513        OHCI_WR(instance->registers->periodic_start,
    514514            ((frame_length / 10) * 9) & PS_MASK << PS_SHIFT);
    515         usb_log_debug2("All periodic start set to: %x(%u - 90%% of %d).\n",
     515        usb_log_debug2("All periodic start set to: %x(%u - 90%% of %d).",
    516516            OHCI_RD(instance->registers->periodic_start),
    517517            OHCI_RD(instance->registers->periodic_start), frame_length);
    518518        C_HCFS_SET(instance->registers->control, C_HCFS_OPERATIONAL);
    519         usb_log_debug("OHCI HC up and running (ctl_reg=0x%x).\n",
     519        usb_log_debug("OHCI HC up and running (ctl_reg=0x%x).",
    520520            OHCI_RD(instance->registers->control));
    521521
     
    536536        const int ret = endpoint_list_init(&instance->lists[type], name); \
    537537        if (ret != EOK) { \
    538                 usb_log_error("Failed to setup %s endpoint list: %s.\n", \
     538                usb_log_error("Failed to setup %s endpoint list: %s.", \
    539539                    name, str_error(ret)); \
    540540                endpoint_list_fini(&instance->lists[USB_TRANSFER_ISOCHRONOUS]);\
     
    577577        if (instance->hcca == NULL)
    578578                return ENOMEM;
    579         usb_log_debug2("OHCI HCCA initialized at %p.\n", instance->hcca);
     579        usb_log_debug2("OHCI HCCA initialized at %p.", instance->hcca);
    580580
    581581        for (unsigned i = 0; i < HCCA_INT_EP_COUNT; ++i) {
     
    583583                    instance->lists[USB_TRANSFER_INTERRUPT].list_head_pa);
    584584        }
    585         usb_log_debug2("Interrupt HEADs set to: %p (%#" PRIx32 ").\n",
     585        usb_log_debug2("Interrupt HEADs set to: %p (%#" PRIx32 ").",
    586586            instance->lists[USB_TRANSFER_INTERRUPT].list_head,
    587587            instance->lists[USB_TRANSFER_INTERRUPT].list_head_pa);
Note: See TracChangeset for help on using the changeset viewer.