clk_gating 507 drivers/scsi/ufs/ufshcd.c dev_err(hba->dev, "Clk gate=%d\n", hba->clk_gating.state); clk_gating 1477 drivers/scsi/ufs/ufshcd.c clk_gating.ungate_work); clk_gating 1479 drivers/scsi/ufs/ufshcd.c cancel_delayed_work_sync(&hba->clk_gating.gate_work); clk_gating 1482 drivers/scsi/ufs/ufshcd.c if (hba->clk_gating.state == CLKS_ON) { clk_gating 1493 drivers/scsi/ufs/ufshcd.c hba->clk_gating.is_suspended = true; clk_gating 1502 drivers/scsi/ufs/ufshcd.c hba->clk_gating.is_suspended = false; clk_gating 1522 drivers/scsi/ufs/ufshcd.c hba->clk_gating.active_reqs++; clk_gating 1530 drivers/scsi/ufs/ufshcd.c switch (hba->clk_gating.state) { clk_gating 1544 drivers/scsi/ufs/ufshcd.c hba->clk_gating.active_reqs--; clk_gating 1548 drivers/scsi/ufs/ufshcd.c flush_work(&hba->clk_gating.ungate_work); clk_gating 1554 drivers/scsi/ufs/ufshcd.c if (cancel_delayed_work(&hba->clk_gating.gate_work)) { clk_gating 1555 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state = CLKS_ON; clk_gating 1557 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state); clk_gating 1568 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state = REQ_CLKS_ON; clk_gating 1570 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state); clk_gating 1571 drivers/scsi/ufs/ufshcd.c queue_work(hba->clk_gating.clk_gating_workq, clk_gating 1572 drivers/scsi/ufs/ufshcd.c &hba->clk_gating.ungate_work); clk_gating 1581 drivers/scsi/ufs/ufshcd.c hba->clk_gating.active_reqs--; clk_gating 1586 drivers/scsi/ufs/ufshcd.c flush_work(&hba->clk_gating.ungate_work); clk_gating 1592 drivers/scsi/ufs/ufshcd.c __func__, hba->clk_gating.state); clk_gating 1604 drivers/scsi/ufs/ufshcd.c clk_gating.gate_work.work); clk_gating 1614 drivers/scsi/ufs/ufshcd.c if (hba->clk_gating.is_suspended || clk_gating 1615 drivers/scsi/ufs/ufshcd.c (hba->clk_gating.state == REQ_CLKS_ON)) { clk_gating 1616 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state = CLKS_ON; clk_gating 1618 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state); clk_gating 1622 drivers/scsi/ufs/ufshcd.c if (hba->clk_gating.active_reqs clk_gating 1633 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state = CLKS_ON; clk_gating 1635 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state); clk_gating 1657 drivers/scsi/ufs/ufshcd.c if (hba->clk_gating.state == REQ_CLKS_OFF) { clk_gating 1658 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state = CLKS_OFF; clk_gating 1660 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state); clk_gating 1674 drivers/scsi/ufs/ufshcd.c hba->clk_gating.active_reqs--; clk_gating 1676 drivers/scsi/ufs/ufshcd.c if (hba->clk_gating.active_reqs || hba->clk_gating.is_suspended clk_gating 1683 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state = REQ_CLKS_OFF; clk_gating 1684 drivers/scsi/ufs/ufshcd.c trace_ufshcd_clk_gating(dev_name(hba->dev), hba->clk_gating.state); clk_gating 1685 drivers/scsi/ufs/ufshcd.c queue_delayed_work(hba->clk_gating.clk_gating_workq, clk_gating 1686 drivers/scsi/ufs/ufshcd.c &hba->clk_gating.gate_work, clk_gating 1687 drivers/scsi/ufs/ufshcd.c msecs_to_jiffies(hba->clk_gating.delay_ms)); clk_gating 1705 drivers/scsi/ufs/ufshcd.c return snprintf(buf, PAGE_SIZE, "%lu\n", hba->clk_gating.delay_ms); clk_gating 1718 drivers/scsi/ufs/ufshcd.c hba->clk_gating.delay_ms = value; clk_gating 1728 drivers/scsi/ufs/ufshcd.c return snprintf(buf, PAGE_SIZE, "%d\n", hba->clk_gating.is_enabled); clk_gating 1742 drivers/scsi/ufs/ufshcd.c if (value == hba->clk_gating.is_enabled) clk_gating 1749 drivers/scsi/ufs/ufshcd.c hba->clk_gating.active_reqs++; clk_gating 1753 drivers/scsi/ufs/ufshcd.c hba->clk_gating.is_enabled = value; clk_gating 1793 drivers/scsi/ufs/ufshcd.c hba->clk_gating.delay_ms = 150; clk_gating 1794 drivers/scsi/ufs/ufshcd.c INIT_DELAYED_WORK(&hba->clk_gating.gate_work, ufshcd_gate_work); clk_gating 1795 drivers/scsi/ufs/ufshcd.c INIT_WORK(&hba->clk_gating.ungate_work, ufshcd_ungate_work); clk_gating 1799 drivers/scsi/ufs/ufshcd.c hba->clk_gating.clk_gating_workq = alloc_ordered_workqueue(wq_name, clk_gating 1802 drivers/scsi/ufs/ufshcd.c hba->clk_gating.is_enabled = true; clk_gating 1804 drivers/scsi/ufs/ufshcd.c hba->clk_gating.delay_attr.show = ufshcd_clkgate_delay_show; clk_gating 1805 drivers/scsi/ufs/ufshcd.c hba->clk_gating.delay_attr.store = ufshcd_clkgate_delay_store; clk_gating 1806 drivers/scsi/ufs/ufshcd.c sysfs_attr_init(&hba->clk_gating.delay_attr.attr); clk_gating 1807 drivers/scsi/ufs/ufshcd.c hba->clk_gating.delay_attr.attr.name = "clkgate_delay_ms"; clk_gating 1808 drivers/scsi/ufs/ufshcd.c hba->clk_gating.delay_attr.attr.mode = 0644; clk_gating 1809 drivers/scsi/ufs/ufshcd.c if (device_create_file(hba->dev, &hba->clk_gating.delay_attr)) clk_gating 1812 drivers/scsi/ufs/ufshcd.c hba->clk_gating.enable_attr.show = ufshcd_clkgate_enable_show; clk_gating 1813 drivers/scsi/ufs/ufshcd.c hba->clk_gating.enable_attr.store = ufshcd_clkgate_enable_store; clk_gating 1814 drivers/scsi/ufs/ufshcd.c sysfs_attr_init(&hba->clk_gating.enable_attr.attr); clk_gating 1815 drivers/scsi/ufs/ufshcd.c hba->clk_gating.enable_attr.attr.name = "clkgate_enable"; clk_gating 1816 drivers/scsi/ufs/ufshcd.c hba->clk_gating.enable_attr.attr.mode = 0644; clk_gating 1817 drivers/scsi/ufs/ufshcd.c if (device_create_file(hba->dev, &hba->clk_gating.enable_attr)) clk_gating 1825 drivers/scsi/ufs/ufshcd.c device_remove_file(hba->dev, &hba->clk_gating.delay_attr); clk_gating 1826 drivers/scsi/ufs/ufshcd.c device_remove_file(hba->dev, &hba->clk_gating.enable_attr); clk_gating 1827 drivers/scsi/ufs/ufshcd.c cancel_work_sync(&hba->clk_gating.ungate_work); clk_gating 1828 drivers/scsi/ufs/ufshcd.c cancel_delayed_work_sync(&hba->clk_gating.gate_work); clk_gating 1829 drivers/scsi/ufs/ufshcd.c destroy_workqueue(hba->clk_gating.clk_gating_workq); clk_gating 2466 drivers/scsi/ufs/ufshcd.c WARN_ON(hba->clk_gating.state != CLKS_ON); clk_gating 7341 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state = CLKS_ON; clk_gating 7343 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state); clk_gating 7776 drivers/scsi/ufs/ufshcd.c hba->clk_gating.is_suspended = true; clk_gating 7847 drivers/scsi/ufs/ufshcd.c hba->clk_gating.state = CLKS_OFF; clk_gating 7848 drivers/scsi/ufs/ufshcd.c trace_ufshcd_clk_gating(dev_name(hba->dev), hba->clk_gating.state); clk_gating 7872 drivers/scsi/ufs/ufshcd.c hba->clk_gating.is_suspended = false; clk_gating 7954 drivers/scsi/ufs/ufshcd.c hba->clk_gating.is_suspended = false; clk_gating 697 drivers/scsi/ufs/ufshcd.h struct ufs_clk_gating clk_gating;