Lines Matching defs:zsp
3721 struct sdeb_zone_state *zsp;
3732 zsp = &devip->zstate[zno];
3733 if (lba >= zsp->z_start + zsp->z_size)
3734 zsp++;
3735 WARN_ON_ONCE(lba >= zsp->z_start + zsp->z_size);
3736 return zsp;
3739 static inline bool zbc_zone_is_conv(struct sdeb_zone_state *zsp)
3741 return zsp->z_type == ZBC_ZTYPE_CNV;
3744 static inline bool zbc_zone_is_gap(struct sdeb_zone_state *zsp)
3746 return zsp->z_type == ZBC_ZTYPE_GAP;
3749 static inline bool zbc_zone_is_seq(struct sdeb_zone_state *zsp)
3751 return !zbc_zone_is_conv(zsp) && !zbc_zone_is_gap(zsp);
3755 struct sdeb_zone_state *zsp)
3759 if (!zbc_zone_is_seq(zsp))
3762 zc = zsp->z_cond;
3771 if (zsp->z_wp == zsp->z_start) {
3772 zsp->z_cond = ZC1_EMPTY;
3774 zsp->z_cond = ZC4_CLOSED;
3781 struct sdeb_zone_state *zsp = &devip->zstate[0];
3784 for (i = 0; i < devip->nr_zones; i++, zsp++) {
3785 if (zsp->z_cond == ZC2_IMPLICIT_OPEN) {
3786 zbc_close_zone(devip, zsp);
3793 struct sdeb_zone_state *zsp, bool explicit)
3797 if (!zbc_zone_is_seq(zsp))
3800 zc = zsp->z_cond;
3806 if (explicit && zsp->z_cond == ZC2_IMPLICIT_OPEN)
3807 zbc_close_zone(devip, zsp);
3812 if (zsp->z_cond == ZC4_CLOSED)
3815 zsp->z_cond = ZC3_EXPLICIT_OPEN;
3818 zsp->z_cond = ZC2_IMPLICIT_OPEN;
3824 struct sdeb_zone_state *zsp)
3826 switch (zsp->z_cond) {
3835 zsp->z_start, zsp->z_cond);
3838 zsp->z_cond = ZC5_FULL;
3844 struct sdeb_zone_state *zsp = zbc_zone(devip, lba);
3845 unsigned long long n, end, zend = zsp->z_start + zsp->z_size;
3847 if (!zbc_zone_is_seq(zsp))
3850 if (zsp->z_type == ZBC_ZTYPE_SWR) {
3851 zsp->z_wp += num;
3852 if (zsp->z_wp >= zend)
3853 zbc_set_zone_full(devip, zsp);
3858 if (lba != zsp->z_wp)
3859 zsp->z_non_seq_resource = true;
3864 zsp->z_wp = zend;
3865 } else if (end > zsp->z_wp) {
3867 zsp->z_wp = end;
3871 if (zsp->z_wp >= zend)
3872 zbc_set_zone_full(devip, zsp);
3877 zsp++;
3878 zend = zsp->z_start + zsp->z_size;
3888 struct sdeb_zone_state *zsp = zbc_zone(devip, lba);
3893 if (zsp->z_type != zsp_end->z_type) {
3903 if (zbc_zone_is_gap(zsp)) {
3910 if (zbc_zone_is_conv(zsp)) {
3920 if (zsp->z_type == ZBC_ZTYPE_SWR) {
3922 if (zsp_end != zsp) {
3929 if (zsp->z_cond == ZC5_FULL) {
3935 if (lba != zsp->z_wp) {
3944 if (zsp->z_cond == ZC1_EMPTY || zsp->z_cond == ZC4_CLOSED) {
3952 zbc_open_zone(devip, zsp, false);
5883 struct sdeb_zone_state *zsp = NULL;
5915 lba = zsp->z_start + zsp->z_size) {
5916 if (WARN_ONCE(zbc_zone(devip, lba) == zsp, "lba = %llu\n", lba))
5918 zsp = zbc_zone(devip, lba);
5925 if (zsp->z_cond != ZC1_EMPTY)
5930 if (zsp->z_cond != ZC2_IMPLICIT_OPEN)
5935 if (zsp->z_cond != ZC3_EXPLICIT_OPEN)
5940 if (zsp->z_cond != ZC4_CLOSED)
5945 if (zsp->z_cond != ZC5_FULL)
5958 if (!zsp->z_non_seq_resource)
5963 if (zbc_zone_is_gap(zsp))
5968 if (zbc_zone_is_seq(zsp))
5980 desc[0] = zsp->z_type;
5981 desc[1] = zsp->z_cond << 4;
5982 if (zsp->z_non_seq_resource)
5984 put_unaligned_be64((u64)zsp->z_size, desc + 8);
5985 put_unaligned_be64((u64)zsp->z_start, desc + 16);
5986 put_unaligned_be64((u64)zsp->z_wp, desc + 24);
6076 struct sdeb_zone_state *zsp = &devip->zstate[0];
6079 for (i = 0; i < devip->nr_zones; i++, zsp++) {
6080 if (zsp->z_cond == ZC4_CLOSED)
6091 struct sdeb_zone_state *zsp;
6123 zsp = zbc_zone(devip, z_id);
6124 if (z_id != zsp->z_start) {
6129 if (zbc_zone_is_conv(zsp)) {
6135 zc = zsp->z_cond;
6146 zbc_open_zone(devip, zsp, true);
6166 struct sdeb_zone_state *zsp;
6190 zsp = zbc_zone(devip, z_id);
6191 if (z_id != zsp->z_start) {
6196 if (zbc_zone_is_conv(zsp)) {
6202 zbc_close_zone(devip, zsp);
6209 struct sdeb_zone_state *zsp, bool empty)
6211 enum sdebug_z_cond zc = zsp->z_cond;
6216 zbc_close_zone(devip, zsp);
6217 if (zsp->z_cond == ZC4_CLOSED)
6219 zsp->z_wp = zsp->z_start + zsp->z_size;
6220 zsp->z_cond = ZC5_FULL;
6235 struct sdeb_zone_state *zsp;
6262 zsp = zbc_zone(devip, z_id);
6263 if (z_id != zsp->z_start) {
6268 if (zbc_zone_is_conv(zsp)) {
6274 zbc_finish_zone(devip, zsp, true);
6281 struct sdeb_zone_state *zsp)
6286 if (!zbc_zone_is_seq(zsp))
6289 zc = zsp->z_cond;
6291 zbc_close_zone(devip, zsp);
6293 if (zsp->z_cond == ZC4_CLOSED)
6296 if (zsp->z_wp > zsp->z_start)
6297 memset(sip->storep + zsp->z_start * sdebug_sector_size, 0,
6298 (zsp->z_wp - zsp->z_start) * sdebug_sector_size);
6300 zsp->z_non_seq_resource = false;
6301 zsp->z_wp = zsp->z_start;
6302 zsp->z_cond = ZC1_EMPTY;
6315 struct sdeb_zone_state *zsp;
6341 zsp = zbc_zone(devip, z_id);
6342 if (z_id != zsp->z_start) {
6347 if (zbc_zone_is_conv(zsp)) {
6353 zbc_rwp_zone(devip, zsp);
6422 struct sdeb_zone_state *zsp;
6498 zsp = &devip->zstate[i];
6500 zsp->z_start = zstart;
6503 zsp->z_type = ZBC_ZTYPE_CNV;
6504 zsp->z_cond = ZBC_NOT_WRITE_POINTER;
6505 zsp->z_wp = (sector_t)-1;
6506 zsp->z_size =
6510 zsp->z_type = ZBC_ZTYPE_SWR;
6512 zsp->z_type = ZBC_ZTYPE_SWP;
6513 zsp->z_cond = ZC1_EMPTY;
6514 zsp->z_wp = zsp->z_start;
6515 zsp->z_size =
6518 zsp->z_type = ZBC_ZTYPE_GAP;
6519 zsp->z_cond = ZBC_NOT_WRITE_POINTER;
6520 zsp->z_wp = (sector_t)-1;
6521 zsp->z_size = min_t(u64, devip->zsize - devip->zcap,
6525 WARN_ON_ONCE((int)zsp->z_size <= 0);
6526 zstart += zsp->z_size;