Date: Fri, 24 Apr 2015 13:34:42 +0200 From: Svatopluk Kraus <onwahe@gmail.com> To: freebsd-current@freebsd.org Subject: [patch] fix add_bounce_page() for BUS_DMA_KEEP_PG_OFFSET Message-ID: <CAFHCsPVgYHL0OyMnn1b2DcNiQO-20k1aDvJNvFjwU21YxB29Cw@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
--001a113ec1f248a1f0051476c854 Content-Type: text/plain; charset=UTF-8 The add_bounce_page() can be called from _bus_dmamap_load_phys(). Client virtual address is zero (not valid) in that case. So, client physical address must be used to get an offset when BUS_DMA_KEEP_PG_OFFSET flag is set. Note that client physical address is always valid. Svatopluk Kraus --001a113ec1f248a1f0051476c854 Content-Type: text/plain; charset=US-ASCII; name="add_bounce_page.diff" Content-Disposition: attachment; filename="add_bounce_page.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i8vijyvi0 ZGlmZiAtLWdpdCBhL3N5cy9hcm0vYXJtL2J1c2RtYV9tYWNoZGVwLXY2LmMgYi9zeXMvYXJtL2Fy bS9idXNkbWFfbWFjaGRlcC12Ni5jCmluZGV4IGVkNTAxYzUuLjcyMzZjNWEgMTAwNjQ0Ci0tLSBh L3N5cy9hcm0vYXJtL2J1c2RtYV9tYWNoZGVwLXY2LmMKKysrIGIvc3lzL2FybS9hcm0vYnVzZG1h X21hY2hkZXAtdjYuYwpAQCAtMTY4NSw4ICsxNjg1LDggQEAgYWRkX2JvdW5jZV9wYWdlKGJ1c19k bWFfdGFnX3QgZG1hdCwgYnVzX2RtYW1hcF90IG1hcCwgdm1fb2Zmc2V0X3QgdmFkZHIsCiAKIAlp ZiAoZG1hdC0+ZmxhZ3MgJiBCVVNfRE1BX0tFRVBfUEdfT0ZGU0VUKSB7CiAJCS8qIFBhZ2Ugb2Zm c2V0IG5lZWRzIHRvIGJlIHByZXNlcnZlZC4gKi8KLQkJYnBhZ2UtPnZhZGRyIHw9IHZhZGRyICYg UEFHRV9NQVNLOwotCQlicGFnZS0+YnVzYWRkciB8PSB2YWRkciAmIFBBR0VfTUFTSzsKKwkJYnBh Z2UtPnZhZGRyIHw9IGFkZHIgJiBQQUdFX01BU0s7CisJCWJwYWdlLT5idXNhZGRyIHw9IGFkZHIg JiBQQUdFX01BU0s7CiAJfQogCWJwYWdlLT5kYXRhdmFkZHIgPSB2YWRkcjsKIAlicGFnZS0+ZGF0 YWFkZHIgPSBhZGRyOwpkaWZmIC0tZ2l0IGEvc3lzL2FybS9hcm0vYnVzZG1hX21hY2hkZXAuYyBi L3N5cy9hcm0vYXJtL2J1c2RtYV9tYWNoZGVwLmMKaW5kZXggMjY1MjkyZC4uYWNkOGY4MSAxMDA2 NDQKLS0tIGEvc3lzL2FybS9hcm0vYnVzZG1hX21hY2hkZXAuYworKysgYi9zeXMvYXJtL2FybS9i dXNkbWFfbWFjaGRlcC5jCkBAIC0xNDQxLDggKzE0NDEsOCBAQCBhZGRfYm91bmNlX3BhZ2UoYnVz X2RtYV90YWdfdCBkbWF0LCBidXNfZG1hbWFwX3QgbWFwLCB2bV9vZmZzZXRfdCB2YWRkciwKIAog CWlmIChkbWF0LT5mbGFncyAmIEJVU19ETUFfS0VFUF9QR19PRkZTRVQpIHsKIAkJLyogUGFnZSBv ZmZzZXQgbmVlZHMgdG8gYmUgcHJlc2VydmVkLiAqLwotCQlicGFnZS0+dmFkZHIgfD0gdmFkZHIg JiBQQUdFX01BU0s7Ci0JCWJwYWdlLT5idXNhZGRyIHw9IHZhZGRyICYgUEFHRV9NQVNLOworCQli cGFnZS0+dmFkZHIgfD0gYWRkciAmIFBBR0VfTUFTSzsKKwkJYnBhZ2UtPmJ1c2FkZHIgfD0gYWRk ciAmIFBBR0VfTUFTSzsKIAl9CiAJYnBhZ2UtPmRhdGF2YWRkciA9IHZhZGRyOwogCWJwYWdlLT5k YXRhYWRkciA9IGFkZHI7CmRpZmYgLS1naXQgYS9zeXMvbWlwcy9taXBzL2J1c2RtYV9tYWNoZGVw LmMgYi9zeXMvbWlwcy9taXBzL2J1c2RtYV9tYWNoZGVwLmMKaW5kZXggMDgzZThmNS4uOTBlYzM5 OSAxMDA2NDQKLS0tIGEvc3lzL21pcHMvbWlwcy9idXNkbWFfbWFjaGRlcC5jCisrKyBiL3N5cy9t aXBzL21pcHMvYnVzZG1hX21hY2hkZXAuYwpAQCAtMTM1OSw4ICsxMzU5LDggQEAgYWRkX2JvdW5j ZV9wYWdlKGJ1c19kbWFfdGFnX3QgZG1hdCwgYnVzX2RtYW1hcF90IG1hcCwgdm1fb2Zmc2V0X3Qg dmFkZHIsCiAKIAlpZiAoZG1hdC0+ZmxhZ3MgJiBCVVNfRE1BX0tFRVBfUEdfT0ZGU0VUKSB7CiAJ CS8qIFBhZ2Ugb2Zmc2V0IG5lZWRzIHRvIGJlIHByZXNlcnZlZC4gKi8KLQkJYnBhZ2UtPnZhZGRy IHw9IHZhZGRyICYgUEFHRV9NQVNLOwotCQlicGFnZS0+YnVzYWRkciB8PSB2YWRkciAmIFBBR0Vf TUFTSzsKKwkJYnBhZ2UtPnZhZGRyIHw9IGFkZHIgJiBQQUdFX01BU0s7CisJCWJwYWdlLT5idXNh ZGRyIHw9IGFkZHIgJiBQQUdFX01BU0s7CiAJfQogCWJwYWdlLT5kYXRhdmFkZHIgPSB2YWRkcjsK IAlicGFnZS0+ZGF0YWFkZHIgPSBhZGRyOwpkaWZmIC0tZ2l0IGEvc3lzL3Bvd2VycGMvcG93ZXJw Yy9idXNkbWFfbWFjaGRlcC5jIGIvc3lzL3Bvd2VycGMvcG93ZXJwYy9idXNkbWFfbWFjaGRlcC5j CmluZGV4IGJkMjI2YzguLjllYTUxY2UgMTAwNjQ0Ci0tLSBhL3N5cy9wb3dlcnBjL3Bvd2VycGMv YnVzZG1hX21hY2hkZXAuYworKysgYi9zeXMvcG93ZXJwYy9wb3dlcnBjL2J1c2RtYV9tYWNoZGVw LmMKQEAgLTExMjEsOCArMTEyMSw4IEBAIGFkZF9ib3VuY2VfcGFnZShidXNfZG1hX3RhZ190IGRt YXQsIGJ1c19kbWFtYXBfdCBtYXAsIHZtX29mZnNldF90IHZhZGRyLAogCiAJaWYgKGRtYXQtPmZs YWdzICYgQlVTX0RNQV9LRUVQX1BHX09GRlNFVCkgewogCQkvKiBQYWdlIG9mZnNldCBuZWVkcyB0 byBiZSBwcmVzZXJ2ZWQuICovCi0JCWJwYWdlLT52YWRkciB8PSB2YWRkciAmIFBBR0VfTUFTSzsK LQkJYnBhZ2UtPmJ1c2FkZHIgfD0gdmFkZHIgJiBQQUdFX01BU0s7CisJCWJwYWdlLT52YWRkciB8 PSBhZGRyICYgUEFHRV9NQVNLOworCQlicGFnZS0+YnVzYWRkciB8PSBhZGRyICYgUEFHRV9NQVNL OwogCX0KIAlicGFnZS0+ZGF0YXZhZGRyID0gdmFkZHI7CiAJYnBhZ2UtPmRhdGFhZGRyID0gYWRk cjsKZGlmZiAtLWdpdCBhL3N5cy94ODYveDg2L2J1c2RtYV9ib3VuY2UuYyBiL3N5cy94ODYveDg2 L2J1c2RtYV9ib3VuY2UuYwppbmRleCAxNDM4MDUzLi5mNWMxYjkyIDEwMDY0NAotLS0gYS9zeXMv eDg2L3g4Ni9idXNkbWFfYm91bmNlLmMKKysrIGIvc3lzL3g4Ni94ODYvYnVzZG1hX2JvdW5jZS5j CkBAIC05OTQsOCArOTk0LDggQEAgYWRkX2JvdW5jZV9wYWdlKGJ1c19kbWFfdGFnX3QgZG1hdCwg YnVzX2RtYW1hcF90IG1hcCwgdm1fb2Zmc2V0X3QgdmFkZHIsCiAKIAlpZiAoZG1hdC0+Y29tbW9u LmZsYWdzICYgQlVTX0RNQV9LRUVQX1BHX09GRlNFVCkgewogCQkvKiBQYWdlIG9mZnNldCBuZWVk cyB0byBiZSBwcmVzZXJ2ZWQuICovCi0JCWJwYWdlLT52YWRkciB8PSB2YWRkciAmIFBBR0VfTUFT SzsKLQkJYnBhZ2UtPmJ1c2FkZHIgfD0gdmFkZHIgJiBQQUdFX01BU0s7CisJCWJwYWdlLT52YWRk ciB8PSBhZGRyICYgUEFHRV9NQVNLOworCQlicGFnZS0+YnVzYWRkciB8PSBhZGRyICYgUEFHRV9N QVNLOwogCX0KIAlicGFnZS0+ZGF0YXZhZGRyID0gdmFkZHI7CiAJYnBhZ2UtPmRhdGFhZGRyID0g YWRkcjsK --001a113ec1f248a1f0051476c854--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFHCsPVgYHL0OyMnn1b2DcNiQO-20k1aDvJNvFjwU21YxB29Cw>