Revenue Valuation Allowances and Reserves (Details) - USD ($) $ in Millions  | 
12 Months Ended | |||
|---|---|---|---|---|
Dec. 31, 2020  | 
Dec. 31, 2019  | 
Dec. 31, 2018  | 
Dec. 31, 2017  | 
|
| Allowance for sales returns [Line Items] | ||||
| Additions- charged to earnings | $ 1,976 | $ 2,138 | $ 2,213 | |
| Contract with Customer, Refund Liability | 267 | 238 | 242 | $ 243 | 
| Deductions | $ (1,947) | $ (2,142) | $ (2,214) | |
| X | ||||||||||
- Definition Additions Charged To Earnings No definition available. 
  | 
| X | ||||||||||
- Definition Allowance for sales returns No definition available. 
  | 
| X | ||||||||||
- Definition Deductions No definition available. 
  | 
| X | ||||||||||
- Definition Amount of liability for consideration received or receivable from customer which is not included in transaction price, when consideration is expected to be refunded to customer. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef 
  |