root/block/blk-pm.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. blk_pm_request_resume
  2. blk_pm_mark_last_busy
  3. blk_pm_requeue_request
  4. blk_pm_add_request
  5. blk_pm_put_request
  6. blk_pm_request_resume
  7. blk_pm_mark_last_busy
  8. blk_pm_requeue_request
  9. blk_pm_add_request
  10. blk_pm_put_request

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 
   3 #ifndef _BLOCK_BLK_PM_H_
   4 #define _BLOCK_BLK_PM_H_
   5 
   6 #include <linux/pm_runtime.h>
   7 
   8 #ifdef CONFIG_PM
   9 static inline void blk_pm_request_resume(struct request_queue *q)
  10 {
  11         if (q->dev && (q->rpm_status == RPM_SUSPENDED ||
  12                        q->rpm_status == RPM_SUSPENDING))
  13                 pm_request_resume(q->dev);
  14 }
  15 
  16 static inline void blk_pm_mark_last_busy(struct request *rq)
  17 {
  18         if (rq->q->dev && !(rq->rq_flags & RQF_PM))
  19                 pm_runtime_mark_last_busy(rq->q->dev);
  20 }
  21 
  22 static inline void blk_pm_requeue_request(struct request *rq)
  23 {
  24         lockdep_assert_held(&rq->q->queue_lock);
  25 
  26         if (rq->q->dev && !(rq->rq_flags & RQF_PM))
  27                 rq->q->nr_pending--;
  28 }
  29 
  30 static inline void blk_pm_add_request(struct request_queue *q,
  31                                       struct request *rq)
  32 {
  33         lockdep_assert_held(&q->queue_lock);
  34 
  35         if (q->dev && !(rq->rq_flags & RQF_PM))
  36                 q->nr_pending++;
  37 }
  38 
  39 static inline void blk_pm_put_request(struct request *rq)
  40 {
  41         lockdep_assert_held(&rq->q->queue_lock);
  42 
  43         if (rq->q->dev && !(rq->rq_flags & RQF_PM))
  44                 --rq->q->nr_pending;
  45 }
  46 #else
  47 static inline void blk_pm_request_resume(struct request_queue *q)
  48 {
  49 }
  50 
  51 static inline void blk_pm_mark_last_busy(struct request *rq)
  52 {
  53 }
  54 
  55 static inline void blk_pm_requeue_request(struct request *rq)
  56 {
  57 }
  58 
  59 static inline void blk_pm_add_request(struct request_queue *q,
  60                                       struct request *rq)
  61 {
  62 }
  63 
  64 static inline void blk_pm_put_request(struct request *rq)
  65 {
  66 }
  67 #endif
  68 
  69 #endif /* _BLOCK_BLK_PM_H_ */

/* [<][>][^][v][top][bottom][index][help] */