Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 0/2] make display test dynamic
@ 2024-01-29 16:25 Kunal Joshi
  2024-01-29 16:25 ` [PATCH i-g-t 1/2] tests/kms_feature_discovery: " Kunal Joshi
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Kunal Joshi @ 2024-01-29 16:25 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi

currently kms_feature_discovery@display checks for number
of display from 1 to 4, make it dynamic to check from 1 to n
also reducing unwanted skips.

anyone who needs to check number of displays for a particular
config can check kms_feature_discovery@display test result.

Kunal Joshi (2):
  tests/kms_feature_discovery: make display test dynamic
  HAX: please do not merge

 tests/intel-ci/fast-feedback.testlist |  2 +-
 tests/kms_feature_discovery.c         | 35 +++++----------------------
 2 files changed, 7 insertions(+), 30 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH i-g-t 1/2] tests/kms_feature_discovery: make display test dynamic
  2024-01-29 16:25 [PATCH i-g-t 0/2] make display test dynamic Kunal Joshi
@ 2024-01-29 16:25 ` Kunal Joshi
  2024-01-29 16:25 ` [PATCH i-g-t 2/2] HAX: please do not merge Kunal Joshi
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Kunal Joshi @ 2024-01-29 16:25 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi

currently kms_feature_discovery@display checks for number
of display from 1 to 4, make it dynamic to check from 1 to n
also reducing unwanted skips.

anyone who needs to check number of displays for a particular
config can check kms_feature_discovery@display test result.

Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/kms_feature_discovery.c | 35 ++++++-----------------------------
 1 file changed, 6 insertions(+), 29 deletions(-)

diff --git a/tests/kms_feature_discovery.c b/tests/kms_feature_discovery.c
index 5bca9ad76..e45c30ece 100644
--- a/tests/kms_feature_discovery.c
+++ b/tests/kms_feature_discovery.c
@@ -47,10 +47,6 @@
  * SUBTEST: display
  * Description: Make sure that we have display support.
  *
- * SUBTEST: display-%dx
- * Description: Make sure that we have display support with %arg[1]
- * 		outputs connected.
- *
  * SUBTEST: chamelium
  * Description: Make sure that Chamelium is configured and reachable.
  * Functionality: feature_discovery, chamelium
@@ -69,8 +65,6 @@
  * Description: Make sure that we have DP-MST configuration.
  * Functionality: feature_discovery, mst
  * Test category: functionality test
- *
- * arg[1].values: 1, 2, 3, 4
  */
 
 static igt_display_t display;
@@ -92,11 +86,6 @@ igt_main {
 			igt_display_require(&display, fd);
 		}
 
-		igt_describe("Make sure that we have display support.");
-		igt_subtest("display") {
-			/* will skip because of the fixture */
-		}
-
 		igt_subtest_group {
 			volatile int output_count = 0;
 			igt_output_t *output;
@@ -119,24 +108,12 @@ igt_main {
 				}
 			}
 
-			igt_describe("Make sure that we can use at least 1 output at the same time.");
-			igt_subtest("display-1x") {
-				igt_require(output_count >= 1);
-			}
-
-			igt_describe("Make sure that we can use at least 2 outputs at the same time.");
-			igt_subtest("display-2x") {
-				igt_require(output_count >= 2);
-			}
-
-			igt_describe("Make sure that we can use at least 3 outputs at the same time.");
-			igt_subtest("display-3x") {
-				igt_require(output_count >= 3);
-			}
-
-			igt_describe("Make sure that we can use at least 4 outputs at the same time.");
-			igt_subtest("display-4x") {
-				igt_require(output_count >= 4);
+			igt_describe("Make sure that we can use at least n output at the same time.");
+			igt_subtest_with_dynamic("display") {
+				int i;
+				for(i = 1; i <= output_count; i++)
+					igt_dynamic_f("-%dx", i)
+						igt_require(output_count >= i);
 			}
 		}
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH i-g-t 2/2] HAX: please do not merge
  2024-01-29 16:25 [PATCH i-g-t 0/2] make display test dynamic Kunal Joshi
  2024-01-29 16:25 ` [PATCH i-g-t 1/2] tests/kms_feature_discovery: " Kunal Joshi
@ 2024-01-29 16:25 ` Kunal Joshi
  2024-01-29 17:07 ` ✓ CI.xeBAT: success for make display test dynamic Patchwork
  2024-01-29 17:28 ` ✗ Fi.CI.BAT: failure " Patchwork
  3 siblings, 0 replies; 7+ messages in thread
From: Kunal Joshi @ 2024-01-29 16:25 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi

Only for testing please don't merge

Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/intel-ci/fast-feedback.testlist | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 662e49cc3..d0a0a9df1 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -1,6 +1,6 @@
 # Try to load the driver if it's not available yet.
 igt@i915_module_load@load
-
+igt@kms_feature_discovery@display
 # Keep alphabetically sorted by default
 igt@core_auth@basic-auth
 igt@debugfs_test@read_all_entries
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* ✓ CI.xeBAT: success for make display test dynamic
  2024-01-29 16:25 [PATCH i-g-t 0/2] make display test dynamic Kunal Joshi
  2024-01-29 16:25 ` [PATCH i-g-t 1/2] tests/kms_feature_discovery: " Kunal Joshi
  2024-01-29 16:25 ` [PATCH i-g-t 2/2] HAX: please do not merge Kunal Joshi
@ 2024-01-29 17:07 ` Patchwork
  2024-01-29 17:28 ` ✗ Fi.CI.BAT: failure " Patchwork
  3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2024-01-29 17:07 UTC (permalink / raw)
  To: Kunal Joshi; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 1045 bytes --]

== Series Details ==

Series: make display test dynamic
URL   : https://patchwork.freedesktop.org/series/129275/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_7698_BAT -> XEIGTPW_10599_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (4 -> 4)
------------------------------

  No changes in participating hosts


Changes
-------

  No changes found


Build changes
-------------

  * IGT: IGT_7698 -> IGTPW_10599
  * Linux: xe-696-a0325b172ae7077c52b074d9b531f4e3aa585d82 -> xe-697-114c7e14fc8f30c4f3e0a39819b7d138ff5ef259

  IGTPW_10599: 10599
  IGT_7698: af750f5e7eaad98d40d8c924eb5f05e99d3c668b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-696-a0325b172ae7077c52b074d9b531f4e3aa585d82: a0325b172ae7077c52b074d9b531f4e3aa585d82
  xe-697-114c7e14fc8f30c4f3e0a39819b7d138ff5ef259: 114c7e14fc8f30c4f3e0a39819b7d138ff5ef259

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10599/index.html

[-- Attachment #2: Type: text/html, Size: 1604 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* ✗ Fi.CI.BAT: failure for make display test dynamic
  2024-01-29 16:25 [PATCH i-g-t 0/2] make display test dynamic Kunal Joshi
                   ` (2 preceding siblings ...)
  2024-01-29 17:07 ` ✓ CI.xeBAT: success for make display test dynamic Patchwork
@ 2024-01-29 17:28 ` Patchwork
  3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2024-01-29 17:28 UTC (permalink / raw)
  To: Kunal Joshi; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 5207 bytes --]

== Series Details ==

Series: make display test dynamic
URL   : https://patchwork.freedesktop.org/series/129275/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_14191 -> IGTPW_10599
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_10599 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_10599, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/index.html

Participating hosts (37 -> 35)
------------------------------

  Missing    (2): fi-snb-2520m fi-pnv-d510 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_10599:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live@reset:
    - bat-adlm-1:         [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14191/bat-adlm-1/igt@i915_selftest@live@reset.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/bat-adlm-1/igt@i915_selftest@live@reset.html

  * igt@kms_feature_discovery@display:
    - bat-adlm-1:         NOTRUN -> [SKIP][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/bat-adlm-1/igt@kms_feature_discovery@display.html
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][4]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/fi-tgl-1115g4/igt@kms_feature_discovery@display.html

  
New tests
---------

  New tests have been introduced between CI_DRM_14191 and IGTPW_10599:

### New IGT tests (2) ###

  * igt@kms_feature_discovery@display@-1x:
    - Statuses : 27 pass(s)
    - Exec time: [0.0] s

  * igt@kms_feature_discovery@display@-2x:
    - Statuses : 4 pass(s)
    - Exec time: [0.0] s

  

Known issues
------------

  Here are the changes found in IGTPW_10599 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_feature_discovery@display:
    - bat-kbl-2:          NOTRUN -> [SKIP][5] ([fdo#109271])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/bat-kbl-2/igt@kms_feature_discovery@display.html
    - bat-atsm-1:         NOTRUN -> [SKIP][6] ([i915#6078])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/bat-atsm-1/igt@kms_feature_discovery@display.html
    - fi-kbl-x1275:       NOTRUN -> [SKIP][7] ([fdo#109271])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/fi-kbl-x1275/igt@kms_feature_discovery@display.html
    - fi-kbl-guc:         NOTRUN -> [SKIP][8] ([fdo#109271])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/fi-kbl-guc/igt@kms_feature_discovery@display.html
    - bat-mtlp-6:         NOTRUN -> [SKIP][9] ([i915#9792])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/bat-mtlp-6/igt@kms_feature_discovery@display.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@sanitycheck:
    - fi-kbl-7567u:       [DMESG-WARN][10] ([i915#9730]) -> [PASS][11] +36 other tests pass
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14191/fi-kbl-7567u/igt@i915_selftest@live@sanitycheck.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/fi-kbl-7567u/igt@i915_selftest@live@sanitycheck.html

  * igt@kms_addfb_basic@invalid-set-prop:
    - fi-kbl-7567u:       [DMESG-WARN][12] ([i915#8585]) -> [PASS][13] +41 other tests pass
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14191/fi-kbl-7567u/igt@kms_addfb_basic@invalid-set-prop.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/fi-kbl-7567u/igt@kms_addfb_basic@invalid-set-prop.html

  * igt@kms_pm_rpm@basic-pci-d3-state:
    - fi-kbl-7567u:       [DMESG-WARN][14] ([i915#180] / [i915#8585]) -> [PASS][15] +45 other tests pass
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14191/fi-kbl-7567u/igt@kms_pm_rpm@basic-pci-d3-state.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/fi-kbl-7567u/igt@kms_pm_rpm@basic-pci-d3-state.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#6078]: https://gitlab.freedesktop.org/drm/intel/issues/6078
  [i915#8585]: https://gitlab.freedesktop.org/drm/intel/issues/8585
  [i915#9730]: https://gitlab.freedesktop.org/drm/intel/issues/9730
  [i915#9792]: https://gitlab.freedesktop.org/drm/intel/issues/9792


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7698 -> IGTPW_10599

  CI-20190529: 20190529
  CI_DRM_14191: 114c7e14fc8f30c4f3e0a39819b7d138ff5ef259 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_10599: 10599
  IGT_7698: af750f5e7eaad98d40d8c924eb5f05e99d3c668b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git


Testlist changes
----------------

-igt@kms_feature_discovery@display-1x
-igt@kms_feature_discovery@display-2x
-igt@kms_feature_discovery@display-3x
-igt@kms_feature_discovery@display-4x

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10599/index.html

[-- Attachment #2: Type: text/html, Size: 6260 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH i-g-t 1/2] tests/kms_feature_discovery: make display test dynamic
  2024-01-30  5:37 [PATCH i-g-t 0/2] " Kunal Joshi
@ 2024-01-30  5:37 ` Kunal Joshi
  2024-02-05  7:58   ` B, Jeevan
  0 siblings, 1 reply; 7+ messages in thread
From: Kunal Joshi @ 2024-01-30  5:37 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi

currently kms_feature_discovery@display checks for number
of display from 1 to 4, make it dynamic to check from 1 to n
also reducing unwanted skips.

anyone who needs to check number of displays for a particular
config can check kms_feature_discovery@display test result.

v2: skip if 0 outputs
    test name fix

Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/kms_feature_discovery.c | 36 +++++++----------------------------
 1 file changed, 7 insertions(+), 29 deletions(-)

diff --git a/tests/kms_feature_discovery.c b/tests/kms_feature_discovery.c
index 5bca9ad76..2dd4efea4 100644
--- a/tests/kms_feature_discovery.c
+++ b/tests/kms_feature_discovery.c
@@ -47,10 +47,6 @@
  * SUBTEST: display
  * Description: Make sure that we have display support.
  *
- * SUBTEST: display-%dx
- * Description: Make sure that we have display support with %arg[1]
- * 		outputs connected.
- *
  * SUBTEST: chamelium
  * Description: Make sure that Chamelium is configured and reachable.
  * Functionality: feature_discovery, chamelium
@@ -69,8 +65,6 @@
  * Description: Make sure that we have DP-MST configuration.
  * Functionality: feature_discovery, mst
  * Test category: functionality test
- *
- * arg[1].values: 1, 2, 3, 4
  */
 
 static igt_display_t display;
@@ -92,11 +86,6 @@ igt_main {
 			igt_display_require(&display, fd);
 		}
 
-		igt_describe("Make sure that we have display support.");
-		igt_subtest("display") {
-			/* will skip because of the fixture */
-		}
-
 		igt_subtest_group {
 			volatile int output_count = 0;
 			igt_output_t *output;
@@ -117,26 +106,15 @@ igt_main {
 				for (int i = 0; i < display.n_outputs; i++) {
 					igt_output_set_pipe(&display.outputs[i], PIPE_NONE);
 				}
+				igt_require_f(output_count >= 0, "No display's connected\n");
 			}
 
-			igt_describe("Make sure that we can use at least 1 output at the same time.");
-			igt_subtest("display-1x") {
-				igt_require(output_count >= 1);
-			}
-
-			igt_describe("Make sure that we can use at least 2 outputs at the same time.");
-			igt_subtest("display-2x") {
-				igt_require(output_count >= 2);
-			}
-
-			igt_describe("Make sure that we can use at least 3 outputs at the same time.");
-			igt_subtest("display-3x") {
-				igt_require(output_count >= 3);
-			}
-
-			igt_describe("Make sure that we can use at least 4 outputs at the same time.");
-			igt_subtest("display-4x") {
-				igt_require(output_count >= 4);
+			igt_describe("Make sure that we can use at least n output at the same time.");
+			igt_subtest_with_dynamic("display") {
+				int i;
+				for(i = 1; i <= output_count; i++)
+					igt_dynamic_f("%dx", i)
+						igt_require(output_count >= i);
 			}
 		}
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* RE: [PATCH i-g-t 1/2] tests/kms_feature_discovery: make display test dynamic
  2024-01-30  5:37 ` [PATCH i-g-t 1/2] tests/kms_feature_discovery: " Kunal Joshi
@ 2024-02-05  7:58   ` B, Jeevan
  0 siblings, 0 replies; 7+ messages in thread
From: B, Jeevan @ 2024-02-05  7:58 UTC (permalink / raw)
  To: Joshi, Kunal1, igt-dev@lists.freedesktop.org; +Cc: Joshi, Kunal1

LGTM 

Reviewed-by: Jeevan B <jeevan.b@intel.com>

> -----Original Message-----
> From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of Kunal
> Joshi
> Sent: Tuesday, January 30, 2024 11:08 AM
> To: igt-dev@lists.freedesktop.org
> Cc: Joshi, Kunal1 <kunal1.joshi@intel.com>
> Subject: [PATCH i-g-t 1/2] tests/kms_feature_discovery: make display test
> dynamic
> 
> currently kms_feature_discovery@display checks for number of display from 1
> to 4, make it dynamic to check from 1 to n also reducing unwanted skips.
> 
> anyone who needs to check number of displays for a particular config can
> check kms_feature_discovery@display test result.
> 
> v2: skip if 0 outputs
>     test name fix
> 
> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
> ---
>  tests/kms_feature_discovery.c | 36 +++++++----------------------------
>  1 file changed, 7 insertions(+), 29 deletions(-)
> 
> diff --git a/tests/kms_feature_discovery.c b/tests/kms_feature_discovery.c
> index 5bca9ad76..2dd4efea4 100644
> --- a/tests/kms_feature_discovery.c
> +++ b/tests/kms_feature_discovery.c
> @@ -47,10 +47,6 @@
>   * SUBTEST: display
>   * Description: Make sure that we have display support.
>   *
> - * SUBTEST: display-%dx
> - * Description: Make sure that we have display support with %arg[1]
> - * 		outputs connected.
> - *
>   * SUBTEST: chamelium
>   * Description: Make sure that Chamelium is configured and reachable.
>   * Functionality: feature_discovery, chamelium @@ -69,8 +65,6 @@
>   * Description: Make sure that we have DP-MST configuration.
>   * Functionality: feature_discovery, mst
>   * Test category: functionality test
> - *
> - * arg[1].values: 1, 2, 3, 4
>   */
> 
>  static igt_display_t display;
> @@ -92,11 +86,6 @@ igt_main {
>  			igt_display_require(&display, fd);
>  		}
> 
> -		igt_describe("Make sure that we have display support.");
> -		igt_subtest("display") {
> -			/* will skip because of the fixture */
> -		}
> -
>  		igt_subtest_group {
>  			volatile int output_count = 0;
>  			igt_output_t *output;
> @@ -117,26 +106,15 @@ igt_main {
>  				for (int i = 0; i < display.n_outputs; i++) {
> 
> 	igt_output_set_pipe(&display.outputs[i], PIPE_NONE);
>  				}
> +				igt_require_f(output_count >= 0, "No
> display's connected\n");
>  			}
> 
> -			igt_describe("Make sure that we can use at least 1
> output at the same time.");
> -			igt_subtest("display-1x") {
> -				igt_require(output_count >= 1);
> -			}
> -
> -			igt_describe("Make sure that we can use at least 2
> outputs at the same time.");
> -			igt_subtest("display-2x") {
> -				igt_require(output_count >= 2);
> -			}
> -
> -			igt_describe("Make sure that we can use at least 3
> outputs at the same time.");
> -			igt_subtest("display-3x") {
> -				igt_require(output_count >= 3);
> -			}
> -
> -			igt_describe("Make sure that we can use at least 4
> outputs at the same time.");
> -			igt_subtest("display-4x") {
> -				igt_require(output_count >= 4);
> +			igt_describe("Make sure that we can use at least n
> output at the same time.");
> +			igt_subtest_with_dynamic("display") {
> +				int i;
> +				for(i = 1; i <= output_count; i++)
> +					igt_dynamic_f("%dx", i)
> +						igt_require(output_count >=
> i);
>  			}
>  		}
> 
> --
> 2.25.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-02-05  7:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-29 16:25 [PATCH i-g-t 0/2] make display test dynamic Kunal Joshi
2024-01-29 16:25 ` [PATCH i-g-t 1/2] tests/kms_feature_discovery: " Kunal Joshi
2024-01-29 16:25 ` [PATCH i-g-t 2/2] HAX: please do not merge Kunal Joshi
2024-01-29 17:07 ` ✓ CI.xeBAT: success for make display test dynamic Patchwork
2024-01-29 17:28 ` ✗ Fi.CI.BAT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2024-01-30  5:37 [PATCH i-g-t 0/2] " Kunal Joshi
2024-01-30  5:37 ` [PATCH i-g-t 1/2] tests/kms_feature_discovery: " Kunal Joshi
2024-02-05  7:58   ` B, Jeevan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox